Network 구조

 

Socket ⇒ TCP를 User mode Application에서 접근할 수 있도록 파일 형식으로 추상화한 인터페이스가 속해진 것.

  • Port Number ⇒ Transport 식별자
  • IP Address ⇒ Host 식별자
  • MAC Address ⇒ NIC 식별자
  • IP Address ⇒ Host 식별자
    • 하나의 컴퓨터는 여러개의 IP Address를 가질 수 있다.
    • IP는 NIC 하나에 여러개를 할당받을 수 있다. (바인딩)
  • Host
    • Network에 연결되어 있는 Computer
    1. Network 자체를 이루는 주체(Switch)
    2. Network를 이용하는 주체 (Host, End Point, Client, Peer, Server)
  • Switch
    • Router (L3 Switch)
      • 길(경로)를 찾기 위해 Switching 한다.
    • F/W (Firewall) 방화벽
    • IPS

 

IPv4

IP 주소는 Host에 대한 식별자이다.

  • IP Adderss
    • v4
      • 32 bit
      • 경우의 수 2^32
      • ex) 127.0.0.1
    • v6
      • 128 bit
      • 경우의 수 2^128
  • IP Address에서 NetworkId길이가 몇인지 나타내는 것이 SubnetMask이다.
    • 예제)
    • IP Address 192.168.219.100
    • subnetmask 255.255.255.0
    • 192 → 1100 0000
    • 255 → 1111 1111
    • ip address와 subnet mask를 bit and 연산을 한 결과를 구한다.
    • 192.168.219.0
    • 0 ⇒ Host ID
    • 192.168.219 ⇒ Network ID
    • 표기 ⇒ 192.168.219.100/24 ⇒ 24bit가 NetworkID, 8bit가 Host ID라는 의미

 

Port Number

Port Number

  • 16 bit
  • 2^16 -2 가지의 경우의 수
    • 0과 65535는 사용하지 않음.
  • 각 Process는 Network에 접속하려고 하면 Socket이 열리게 된다. Socket은 TCP 추상화한 인터페이스 정보를 포함하기 때문에 Port번호를 갖게 되는데, 이 Port번호는 각 Process마다 서로 중복되지 않게 할당되게 된다.
  • Network에서 어떠한 Packet을 받아온다고 가정하면 NIC → IP를거쳐 TCP에서 Port번호를 식별해 해당 Port번호가 할당된 Process에게 Data를 전달한다.

 

Switch

어떤 Packet이 목적지를 향해 이동하려고 한다. 이때의 과정을 쉽게 설명하면 다음과 같다.

  1. 중간 지점들은 모두 Router이다.
  2. 각각의 Router들은 Routing Table을 갖는다.
  3. Router에서는 Routing Table을 기준으로 Packet을 어떤 Router로 보낼지를 결정한다.

 

Network Data 단위

TCP ⇒ Segmentation

IP ⇒ Packet

NIC ⇒ Frame

예시)

  • Application에서 문서작업을 함
  • ⬇️  Stream 데이터 전송
  • TCP: Stream 데이터를 MSS 단위로 자름 ( MSS는 MTU에 의해서 결정된다. )
  • ⬇️  Segmentation 전송
  • IP: Segmentation을 포장함
  • ⬇️  Packet 전송
  • H/W: Packet을 실어 나름 ( Frame )

 

참고 영상

 

728x90

+ Recent posts