[컴퓨터 네트워크/3계층 네트워크]

SooYeon Yeon·2022년 6월 19일
0

컴퓨터네트워크

목록 보기
4/8

네트워크 3계층 : 네트워크 계층

3계층의 기능

  • 다른 네트워크 대역
  • 즉, 멀리 떨어진 곳에 존재하는 네트워크까지 어떻게 데이터를 전달할 지 제어

3계층의 주소: IP주소

  • WAN에서 통신할 때 사용
  • 논리적인 주소
  • 10진수 표시

IPv4, 서브넷 마스크, 게이트웨이

IPv4

  • 현재 PC 할당된 IP 주소
  • ex) 집 도로명 주소 (목동 몇번지)

서브넷 마스크

  • 서울시 ~~구

게이트웨이

  • 지나가야하는 관문
  • 보통 공유기가 게이트웨이

3계층 프로토콜

1. ARP 프로토콜

  • IP 주소를 이용해 MAC 주소를 알아옴
  • 브로드 캐스트

ARP 통신 과정

시스템 A가 시스템 B로 통신을 시도하는 과정(IP 주소는 알고 있는 상태, MAC 주소는 모르고 있는 상태)

  1. 시스템 A는 ARP 테이블을 확인한다. (cmd에서 arp -a 명령어로 확인 가능)
    1. ARP 테이블에 존재하면 해당 MAC 주소로 통신, 없으면 ARP 요청 프로토콜을 작성
  2. 작성한 ARP 요청 패킷을 시스템 A는 브로드캐스트로 전송
  3. 같은 네트워크에 있는 모든 시스템은 브로드캐스트로
    전송된 패킷을 모두 받는다.
  4. 모든 시스템이 Decapsulation을 수행하고 ARP 프로토콜에서 IP 주소를 확인한다.
  5. 받은 ARP 프로토콜과 IP주소가 다른 시스템은 해당 패킷을 버리고, 같은 시스템은 ARP 응답 프로토콜을 작성
  6. 응답 프로토콜을 받은 시스템 A는 ARP 응답 프로토콜에 작성된 내용을 ARP 테이블에 등록

2. IPv4 프로토콜

  • WAN에서 통신할 때 사용
  • 데이터가 정확히 전달 될 것을 보장하지 않음

Version : IP 프로토콜의 버전, 일반적으로 4만 옴. IPv6 프로토콜은 따로 존재

IHL : IP Header Length, 일반적으로 옵션을 제외한 20바이트

Total Length : 페이로드까지 합친 크기

Identification : 조각화가 발생했을 때 각각의 조각들이 원래 하나의 데이터였다는 것을 구분하기위한 ID 값 (OS에서 랜덤 생성)

IP Flags : 조각화가 발생했는지, 조각화를 할 것인지 결정하는 값

  • x : 예약필드
  • D : Don’t 조각화 하지 않겠다
  • m : more 조각화 발생함

Fragment Offset : 조각화가 발생했을 때 각각 조각들의 시작 위치 나타내는 값

TTL : 네트워크 상에서 패킷의 무한루프 방지하기 위한 값. 라우터를 하나 넘어갈 때마다 1씩 감소

  • 윈도우 : 128
  • 리눅스 : 64

Protocol : 상위 프로토콜이 무엇인 지 미리 알려줌

  • ICMP : 1
  • TCP : 6
  • UDP : 17

헤더 체크썸 : 헤더의 오류 확인하기 위한 값

3. ICMP 프로토콜

  • 서로가 통신이 되는 지 확인할 때 사용
  • 8바이트
  • ping
  • 오류 메시지 전송 받는데 주로 쓰임

라우팅 테이블

  • cmd 창에서 해당 명령어 입력
netstat -r

패킷 조각화

  • MTU : 최대 전송 단위 (Maximum Transfer Unit)
  • 큰 데이터 전송 시 MTU를 갖는 링크를 통해 전송되려면 여러 개의 작은 패킷으로 쪼개어/ 조각화 되어 전송되어야 함

여러가지 IP 주소

Classful IP 주소

  • 낭비가 심함

Classfulless IP 주소

서브넷 마스크

  • classful한 네트워크 대역 나누어 주는 데 사용
  • 어디까지 네트워크 대역 구분, 어디까지 호스트 구분 사용 하는지 지정
  • 255.255.255.192 -> 11111111.11111111.11111111.11000000

네트워크 ID

  • IP주소 및 서브넷 마스크를 2진수로 표현, 두 주소를 AND 연산

브로드캐스트 주소

  • 호스트를 구분하는 주소 부분을 모두 1로 채움

사용 가능 IP 범위

  • 네트워크 ID + 1 ~ 브로드캐스트 주소 -1 까지

사설 IP와 공인 IP

사설 IP : 집, 회사에서 쓰는 IP

공인 IP : 인터넷에서 쓰는 주소

실제 인터넷 세상에서는 공인 IP로만 통신하기 때문에 외부 네트워크 대역에서는 사설 IP 대역이 보이지 않음

그렇기 때문에 자신의 IP 주소는 192.168.xx.xx 더라도 naver에서 내 IP 주소 찾기를 하면 다른 IP주소(공인 IP 주소)가 보임

특수한 IP 주소

Wildcard

  • 0.0.0.0

나 자신을 나타내는 주소

  • 127.0.0.1

게이트웨이 주소

  • 어딘가로 가려면 이곳을 거쳐야 함

Subneting 연습

195.168.12.0/24 네트워크를 8개의 네트워크로 사용할 수 있도록 Subneting 하시오

네트워크 ID-111000011.10101000.00001100. 000 00000
네트워크 ID-211000011.10101000.00001100. 001 00000
네트워크 ID-311000011.10101000.00001100. 010 00000
네트워크 ID-411000011.10101000.00001100. 011 00000
네트워크 ID-511000011.10101000.00001100. 100 00000
네트워크 ID-611000011.10101000.00001100. 101 00000
네트워크 ID-711000011.10101000.00001100. 110 00000
네트워크 ID-811000011.10101000.00001100. 111 00000
서브넷 마스크11111111.11111111.11111111. 111 00000
번호네트워크ID브로드캐스트주소범위
1번195.168.12.0195.168.12.31195.168.12.1 ~ 195.168.12.30
2번195.168.12.32195.168.12.63195.168.12.33 ~ 195.168.12.62
3번195.168.12.64195.168.12.95195.168.12.65 ~ 195.168.12.94
4번195.168.12.96195.168.12.127195.168.12.97 ~ 195.168.12.126
5번195.168.12.128195.168.12.159195.168.12.129 ~ 195.168.12.158
6번195.168.12.160195.168.12.191195.168.12.161 ~ 195.168.12.190
7번195.168.12.192195.168.12.223195.168.12.193 ~ 195.168.12.222
8번195.168.12.224195.168.12.255195.168.12.225 ~ 195.168.12.254
  1. 네트워크 ID와 서브넷 마스크를 2진수로 변경
  2. 서브넷 마스크를 1씩 증가시키면서 네트워크를 쪼갠다. (1증가할 때마다 2배로 나눠진다.)
  3. 네트워크 ID에서 서브넷 마스크가 증가한 부분을 1로 꽉 찰때까지 1씩 증가시킨다.
  4. 쪼개진 각각의 네트워크의 네트워크 ID는 1씩 증가시킨 값 그대로
  5. 쪼개진 각각의 네트워크의 브로그캐스트 주소는 뒷 부분을 전부 1로 채운다.
  6. 각 네트워크에서 사용 가능한 IP주소의 범위는 네트워크 ID +1, 브로드캐스트 주소 -1

0개의 댓글