공부/TCP IP

[ TCP/IP ] 네트워크층

haena02 2023. 2. 14. 01:00
반응형

네트워크층

 

네트워크층은 다른 층과 달리 주된 프로토콜이 IP 하나밖에 없다.

네트워크는 통신방법의 차이를 흡수하는 기능이 있다.

 

가장 중요한 임무는 누가 누구에게 전달할지어떤 경로로 데이터를 전달할지를 결정하는 것이다. 

 

IP 프로토콜

 

송신측에서는 IP주소 등을 기록한 IP주소 등을 기록한 IP헤더를 붙여 IP데이터그램을 만들어 데이터링크층에 전달한다.

만약 데이터링크층에서 다룰 수 있는 크기보다 크다면 분할한 후 헤더를 붙인다.

 

IP데이터 전송은 Best Effort 방식이다. 

헤더가 깨지지 않았는지 확인하고, 수신처의 주소가 존재하는지 정도는 판단하지만 재전송 처리는 하지 않는 방식이다.

 

송신처에서 IP프로토콜은 수신처까지의 경로와 통신상태를 보고 최적의 경로는 판단하여 전송한다.

수신처에서는 IP헤더에 쓰여진 IP주소를 확인하여 자기앞에 온 것만 받는다. 

그러고 트랜스포트층의 지정된 프로토콜에 전달한다.

 

IP 주소

 

IP주소는 네트워크상의 기기를 구별하기 위한 번호이다. 

보통 32자리 비트열로 구성되어있고 네트워크부와 호스트부로 나뉘어져있다. 

보통 8비트씩 피리어드로 구분하여 10진수로 나타낸다.

 

같은 네트워크라면 네트워크부는 똑같이 생겼다.

라우터는 접속되어있는 네트워크 수만큼 IP주소를 가지고 있다. 

 

IP가 같은 컴퓨터가 여러대 존재한다면 IP의 의미가 없을 것이다.

그래서 번호의 중복을 피하기 위해 ICANN이라는 기관이 중심이 되어 전 세계의 IP주소를 관리한다. 

 

IP주소만 보면 어디가 네트워크부이고 호스트부인지 알 수 없다.

그래서 서브넷 마스크를 이용하여 경계를 나타낸다.

서브넷마스크는 네트워크에 대응하는 비트를 1로 만든다.

IP주소 뒤에 슬레시와 네트워크의 비트수를 써서 표현하기도한다.

 

IP는 DNS를 이용하여 도메인과 맵핑된다.

DNS는 애플리케이션 프로토콜이다.

도메인의 IP를 DNS에게 요청하면 IP를 제공해준다 

DNS는 도메인의 뒤부터 하나씩 하나씩 범위를 줄여가며 IP를 찾는다.

 

라우터

 

라우터는 네트워크 간을 연결하여 패킷이 수신처에 전달될 때까지 길 안내를 하는 기기이다.

통신 세계에서는 통과한 라우터의 개수로 컴퓨터 사이의 거리를 나타낸다.

이 때 사용하는 단위를 이라고 한다.

 

IP헤더

 

수신측의 네트워크층에서는 IP헤더를 보고 데이터가 깨졌는지, 자기앞으로 온 것인지를 확인한다.

그러고 트랜스포트층의 지정된 프로토콜로 전달한다. 

 

IP헤더는 다음과같이 구성되어있다.

  • 버전 (4비트) - IP의 버전
  • 헤더 길이 (4비트) - IP헤더의 크기
  • 패킷 길이 (16비트) - IP헤더와 IP데이터의 합계 바이트 수
  • 식별자 (16비트) - 분할한 IP데이터그램을 복원할 때 사용하는 값
  • 플래그먼트 오프셋 (13비트) - 분할된 데이터의 순서
  • 생존 시간 (8비트) - 통과할 수 있는 라우터의 수
  • 헤더 체크섬 (16비트) - IP헤더가 무사한지 아닌지 확인할 수 있는 값
  • 송/수신측 IP주소 (각 32비트) 
  • 패딩 - 사이즈 조절용

 

ICMP

 

IP는 비커넥션형 통신을 수행하기 때문에 상대에게 전달 됐는지는 신경쓰지 않는다

그래서 네트워크층에서는 ICMP프로토콜이 IP를 도와 신뢰성을 높여준다.

ICMP는 IP 데이터그램의 통신 상태 등을 필요에 맞게 송신처에게 알려준다. 

 

ICMP 헤더의 구상은 다음과같다.

  • 타입 (8비트) - 메시지의 종류를 나타내는 숫자이다.
  • 코드 (8비트) - 오류의 원인 등을 나타낸다
  • 체크섬 (16비트) - 데이터가 무사한지 아닌지 확인하는 값

 

IP 주소 설정

 

고정 IP주소를 개별적으로 설정할 수도 있고 필요할 때만 자동으로 할당할 수도 있다.

DHCP프로토콜은 네트워크에 접속함과 동시에 IP주소를 할당해주고 설정이 자동으로 수행된다.

DHCP클라이언트는 IP주소를 255.255.255.255으로 설정하고 DHCP 서버에게 IP주소를 요청하고 일시적으로 할당받을 수 있다. 이 요청에는 DHCP 서버만 응답한다.

IP주소를 부여받은뒤에 다시 255.255.255.255로 보내서 확인받고 응답이 오면 사용하면 된다.

 

회사 내나 가정 내 등 한정된 네트워크 안에서만 유효한 IP 주소를 사설 주소라고 한다.

사설 주소는 네트워크가 다르면 중복되어도 문제가 되지 않는다.

사설주소로는 인터넷에 접속할 수 없기 때문에 장치가 필요하다.

장치는 다음과 같이 두가지가 있다.

  • NAT (Network Address Translation) : 사설주소와 공인주소를 일대일로 변환하는 장치이다. 확보하고 있는 공인주소의 개수 이내라면 여러대를 동시 접속 시킬 수 있다.
  • NAPT (Network Address Port Translation) : 하나의 공인 주소를 사용하여 여러대의 컴퓨터를 동시에 접속할 수 있는 장치이다. 포트번호에 의해 컴퓨터를 식병하므로 공인주소를 동시에 사용할 수 있다. 

 

네트워크 세분화

 

네트워크의 규모가 크면 관리가 너무 힘들기 때문에 서브넷이라는 장치를 사용하여 가장으로 작은 네트워크의 모음으로 처리할 수 있게 하곤한다. 

서브넷은 서브넷마스크를 이용하여 가상으로 네트워크부를 늘림으로써 호스트부를 줄여 관리하기 쉽게 한다.

 

 

 

관련된 명령어

 

ipconfig는 TCP/IP의 정보를 알려주는 명령어이고, ping은 통신상태를 알려주는 명령어이다. 

반응형

'공부 > TCP IP' 카테고리의 다른 글

[ TCP/IP ] 라우팅  (0) 2023.02.27
[ TCP/IP ] 데이터링크층과 물리층  (0) 2023.02.23
[ TCP/IP ] 트랜스포트층  (0) 2023.02.13
[ TCP/IP ] 애플리케이션층  (0) 2023.02.11
[ TCP/IP ] 통신 서비스와 프로토콜  (0) 2023.02.09