2025/01 40

Broadcast IP

네트워크 상에 모든 호스트들에게 패킷을 전달하기 위해 사용되는 IP 이다. 해당 IP 설정 방법은 호스트에 해당 하는 비트를 모두 0으로 설정해주면 된다. 예를 들어, 192.168.0.0/24 이라는 네트워크가 있다면, 192.168.0.255/24 라는 IP로 만들어주면, 이를 브로드 케스트 IP 주소라고 부른다. MAC주소는 FF-FF-FF-FF-FF-FF가 된다. 위 두개를 IP packet 헤더에 각각 목적지 IP 주소, 목적지 MAC 주소로 설정하면 브로드캐스트 패킷을 만들 수 있는 것이다. 그럼 broadcast를 하면 어떤 일이 일어나는가위 그림에서 N/W 대역이 192.168.0.0/24 이라고 하면, 192.168.0이 N/W ID가 되는거고 그러면 이 N/W에서 인터넷으로 날라갈때, ..

네트워크 2025.01.08

서브넷 마스크와 CIDR

서브넷 마스크ip주소는 크게 2개의 파트로 나눠진다. 위사진을 보면, 24bit의 N/W ID와 8bit의 Host ID로 나눠진다. 그럼 무엇을 기준으로 저렇게 나눠진 걸까? 여기서 우리는 서브넷 마스크라는 놈을 살펴봐야한다. 서브넷 마스크는 뭐하는 놈이냐면 서브넷 마스크를 기준으로 N/W ID와 Host ID를 잘라낸다.예를 들어 192.168.56.11을 2진수로 표현하면 등호 오른쪽 값과 같다. 그리고 서브넷 마스크 값이 현재 255.255.255.0 이며, 이를 또 2진수 표현하면, 해당 값의 등호의 오른쪽과 같다. 그리고 두 값을 자리에 맞게 bit 단위로 AND 연산을 거치면, 위 사진의 결과와 같이 나온다. 이때 해당 연산을 MASK 연산이라 하며, 해당 연산 결과 값을 통해 우리 네트워크..

네트워크 2025.01.08

IPv4 헤더 형식

패킷이라는 것은 header 시작부터 payload 끝까지이며 최대 크기를 MTU라고 하고 통상의 경우 1500byte의 크기를 가진다. 이 패킷의 IP Header의 option이라는 것이 붙지 않으면 header의 크기는 20byte정도이고 payload는 1500 - 20 = 1480byte정도 된다. 그런데 위 그림을 보면 좀 이상한게 보이는데 data 부분이 최대 65515로 되어있는데 결국 패킷의 크기가 64KB정도 될수는 있다고 볼 수 있다. 하지만 실제로는 그렇지 않고 MTU에 맞춰서 운영이 된다. MTU가 늘어나는 사례도 있기는 하지만 이런 특수한 환경은 지금은 일단 생각하지 말자. 아무튼 IP Header는 보통의 경우 20byte정도이다. 위 그림을 보면 위 그림의 가로 시작부터 끝까..

네트워크 2025.01.08

TCP/IP 송수신 구조

TCP/IP 송수신 구조 네이버에서 1.4MB 파일을 다운로드한다고 상상해보자. 해당 파일은 스트림 형태로 내려가 세그먼트화된 1000 개 이상의 세그먼트로 분리된 다음, 패킷 형태로 감싸서 아래 계층까지 내려가 결국 스위치와 라우터를 거쳐 요청한 사용자의 프로세스로 흘러들어가게된다.이를 더 깊게 생각해본다면, TCP로 통신을 시도할려고 한다음, 연결이라는 과정을 거친다. 연결은 마치 통화하는 것과 같다. 통화를 하면,  연결 수신음이 들린 뒤 서로 대화를 하지 않는가? 이와 똑같다. TCP/IP 구조를 이용하여 방금 설명한 네트워크의 흐름을 깊게 들어가보면, 서버에 HDD가 있을것이다. 그 저장 장치(HDD)안에 파일을 서버의 버퍼로 복사한다. 이때, 버퍼는 개발자가 임시로 설정한 크기만큼 잠시 담아둘..

네트워크 2025.01.08

IPv4란 무엇인가, 패킷의 생성과 소멸 과정

Ipv4 주소 IP주소란 함은 인터넷에서 호스트, 즉 PC를 구분하기 위한 고유 식별자이다. 형태는 위 사진과 같으며, 점을 기준으로 각각 8비트씩 부여된다. 8비트를 통해 나올 수 있는 경우의 수는 총 256가지(10진수 기준 0~255) 이다.  IP 주소를 특정 사무실의 주소라고 생각해보면 쉽다. 그리고 인터넷을 고속도로라고 생각해보고, IP 주소가 있는 패킷을 택배라고 생각해보자. 택배를 많이 받아보면 알 수 있는 것이 바로 물류 센터이다. 각 물류 센터들은 특정 도, 시, 특정 구, 특정 동 을 커버하는 각각의 물류센터들이 있을 것이다. 그 택배물들이 무수히 많이 쏟아져 나올테고, 그 사이에서 그 택배물들을 특정 지역으로 옮기기위해 택배물들을 분류할 것이다. 택배 물류 센터들은 해당 택배들이 정..

네트워크 2025.01.07

L2 수준에서 알아야할 것들

NIC + frame + Lan card +MACNIC는 흔히 LAN 카드여기서 LAN 이란 네트워크의 규모를 말한다.유무선 NIC가 있지만, 굳이 구별하지 않고 NIC 라고 할 때가 많다. 노트북 같은 경우 랜카드가 2개이다. 무선 랜카드는 무조건 꽂혀 있다고 한다. NIC는 HW 이며, MAC 주소를 가진다.이더넷 네트워크에서는 frame 이라는 단위가 있고, 최대 1514 byte 밖에 안된다. 그런데 점보 프레임이라는 걸로 가게된다면, 10K 조금 안된게 데이터를 송수신할 수 있다고 한다.https://blog.naver.com/juwaa1004/221521933146 점보프레임이란? 설정 방법은...점보프레임이란? 설정 방법은... 안녕하세요~ 오늘은 간단한 네트워크 관련 팁(tip) 하나 알려..

네트워크 2025.01.06

네트워크 안에서 데이터들은 어떻게 이동하는가

수많은 교차로를 지나칠 자동차가 있고, 그 안에 네비게이션이 있다고 해보자. 그 네비게이션은 도로 상황이 어떤지 파악을 한 다음, 가장 최적의 경로로 안내해줄 것이다. 그러면 차는 각 교차로 마다 어디를 갈지 교차로상에서 경로를 선택해야하는 상황이 온다. 이를 네트워크 관점에서 이해해본다면, 해당 차는 3계층에선 패킷이라는 단위일 것이며, 해당 패킷은 라우터안에 있는 라우팅 테이블이라는 것에 의해 스위칭 될 것이다. 이때 구성되는 이정표는 IP 주소가 될 것이고, L2 단은 MAC 주소, L4 스위치는 port 번호 단위로 스위칭을 할 것이다. 나아가 HTTP 프로토콜 규칙을 기반으로 한다면, L7 스위치가 될 것이다. 그리고 길을 선택해야할 때는 비용을 항상 고려해야한다. 비용을 어떻게하면, 최소한 낼..

네트워크 2025.01.06

컴퓨터는 3층 집, 그리고 그 안에서 동작하는 TCP/IP

컴퓨터는 기본적으로 3층집으로 분류해볼 수 있다.User mode 와 Kernel mode 나누고, Kernel 아래단으로 S/W 와 H/W로 나눠볼 수 있다. 예를 들어, NIC 라는 LAN 카드가 있다고 가정해보자. 이 LAN 카드라는 하드웨어를 제어하기위해서 전용 소프트웨어가 필요한데 이걸 드라이버라고 불린다. 그리고 그 위에 이제 커널 관련 소프트웨어가 있는데 그 중에 TCP와 IP 관련 소프트웨어가 있다. 그리고 그 위에 유저단에서는 크롬이라는 브라우저가 있다고 해보자. 유저단의 어플리케이션이 커널 구성요소에 접근하기위해선  커널에서 길을 열어준다. 유저와 커널의 위계는 거의 인간과 신의 관계와 비슷할 정도로 커널 모드의 영역의 위상이 높기 때문에 유저단은 커널에서 정해준 인터페이스를 타고 커널..

네트워크 2025.01.06

Layer와 Layered 구조

계층으로 하는 이유가 무엇일까계층을 구성하는 관계를 설명하는데 계층 도식화를 많이 한다고 한다.it쪽 설계에서는 시스템을 이루는 요소가 뭔지 정의하고, 그 요소들 간에 관계를층을 구성하는 관계를 설명하는데 계층 도식화를 많이 한다고 한다. 계층화된 구조는 상위 레이어는 하위레이어에게 의존적이며, 심하면, 존립의 유무를 따질 수 있는 단계까지 간다. 예를 들어, 내가 대학교 4년제를 졸업했다고 말해버리면, 이미 난 고등학교 졸업했다는 얘기가 저절로 기정 사실이 된다.  그래서 만약 어떤 it구조가 Layered 구조다 라고 하면 존립이 일렬 종대로 의존적이다. 라고 본다.따라서 상위구조가 하위구조가 기본 전제다.  이는 OSI 7 Layer와도 연결되는 얘기이다. 일단, 네트워크에 대한 얘기를 하고자 한다..

네트워크 2025.01.06

부동 소수점에 관하여..

컴퓨터에서 소수는 어떻게 저장되고 계산 될까 흔히들 컴퓨터는 2진수 형태인 0,1 로만 이루어진 값들을 연산하고 저장하는 시스템으로 알고 있다. 산수 연산을 하더라도 10진수 체계의 숫자들이 있다면, 이걸 2진수로 바꾸고, 메모리에 저장하다가 연산을 위해 컴퓨터 레지스터에 옮긴다음, 산술연산장치 즉, ALU 라는 것에 의해 계산이 되는데, 이 또한 안에는 and, or, xor 같은 논리게이트들을 통해 덧셈 뺄셈, 곱하기, 나눗셈 등을 구현할 수 있게된다. 일단, 계산되는 대상들이 2진수 비트 값들이고, 보통 이게 16진수 형태로 변환되어 저장될텐데, 그럼 소수는 소수점(.) 때문에 이걸 어떻게 저장하길래 이렇게 연산이 가능한거지 라는 의문이 저절로 생기게된다. 이번 시간은 이에 대해 알아볼려고 한다.부..

컴퓨터구조 2025.01.06