본문 바로가기

CS/네트워크

0530 - 네트워크 프로토콜 ( TCP/IP 기준 )

3.1 응용 계층 프로토콜

 

3.1.1 HTTP(HyperText Transfer Protocol)

  • HTML 과 같은 하이퍼미디어 문서를 전송하기 위한 응용계층 프로토콜
  • 클라이언트 - 서버 모델을 따른다.
  • 상태 비 보존형(stateless) 프로토콜이다.

 

3.1.2 HTTP 메시지

  • 서버와 클라이언트 간에 데이터가 교환되는 방식
  • Request와 Response로 이뤄짐
    • start-line, HTTP-headers, empty line, body

 

3.2 전송계층 프로토콜

  • 전송계층이란?
    • 응용 프로그램을 위한 end - to - end 통신 서비스를 제공한다.
    • 주요 프로토콜 : TCP, UDP가 있다.

 

3.2.1 TCP

  • 3-way handshake
    • TCP는 연결 지향적인 프로토콜 연결이 확립된 후, 데이터 전송이 가능하다.
    • 연결을 확립하는 과정을 3-way handshake라고 한다.

 

 

  1. 클라이언트는 서버에 연결을 요청한다.(SYN)
    1. 요청을 위해 난수 A ( 그림의 SEQ. Client )를 생성하여 시퀸스 넘버에 넣는다.
  2. 서버 응답 및 연결 수락을 받는다. (SYN - ACK)
    1. 자세히 보면 ACK 응답에 A + 1로 1을 더해주는데. 이게 이 데이터를 잘 받았는 것을 확인하기 위함임.
    2. 또한, syn의 B( 그림의 SEQ. Server )는 응답 측에서 추후 확인을 위한 또 다른 난수임.
  3. 클라이언트 응답 및 연결완료한다.(ACK)
    1. A+1이 날라오면 잘 받은 것!
    2. 당연히, 위에서 해준 것 처럼 B 에 1을 더해서 잘 응답 받음을 말해주면 된다.
  • 각 단계에서 요청을 보낸 곳은 잠시 wait 상태가 되는 것은 알아두자!

 

 

3.3 인터넷 계층 프로토콜

IP Address

  • 인터넷 규약 주소는 네트워크에서 장치(HOST)를 식별하기 위해 사용하는 번호

 

IPv4

  • 주소가 32비트로 구성, 일반적으로 사용하는 IP 주소
  • 8 x 4로 하여 4자리로 구분되며, 이 8bit를 옥텟이라고 한다.
  • 네트워크 ID, 호스트 ID로 구성

 

IPv6

  • 주소가 128 비트로 구성, IPv4의 자리가 부족함에 따라 만들어진 프로토콜이다.
  • 보안기능 추가, 패킷 크기 확장 등이 일어났다.

 

서브넷 마스크

  • 어디까지가 네트워크 ID고, 어디까지가 호스트 ID인지 표시하기 위해 만들어진 것임.
  • IP와 서브넷마스크를 AND 연산한 것이 Network prefix임.
  • 또한, 나머지가 Host Identifier임.

 

 

Division of the IPv4 Classes

  • 모든 호스트들이 IP를 다 가지고 있으면 IP는 너무 부족해질 것임…
    • 그렇기에, Subnet이라는 것을 만들었으며, A,B,C,D 클래스로 IPv4를 나눠놨음.

예를들어 c 클래스의 IP 120개가 필요하다고 256개를 다 줘버리면 136개는 버리는것임.

그렇기에, 차라리 256개를 반 짤라서 128개만줘서 8개만 손해보게 할 수 있음. 이게 서브넷임!

  • 8.8.8.1000 0000 이렇게 앞에 1을 넣거나 뺏을 때 반으로 가를 수 있을 것!

 

CIDR

  • IPv4 표기법
  • 인터넷상의 데이터 라우팅 효율성을 향상시키는 IP 주소 할당 방법

'CS > 네트워크' 카테고리의 다른 글

0530 - 네트워크 모델  (0) 2023.05.30
0530 - 네트워크란?  (0) 2023.05.30