230102 - TIL

Junho Yun·2023년 1월 3일
0

TIL

목록 보기
46/81
post-thumbnail

웹과 네트워크의 기본

Http

우리가 인터넷에 www.naver.com 이라고 치면, 서버를 향해 요청을 하고 서버는 그에 맞게 응답을 줍니다. 이렇게 클라이언트(우리)와 서버 사이에서 통신을 할 수 있도록 만든 규약(법칙)이 http라고 할 수 있습니다.

TCP/IP 프로토콜

인터넷을 포함하여 일반적으로 사용하고 있는 네트워크는 TCP/IP라는 프로토콜에서 움직입니다. 일단 TCP/IP는 여러 프로토콜(통신 법칙)들의 집합입니다.

애플리케이션, 트랜스포트, 네트워크, 링크 이렇게 4개의 계층으로 나뉘어있습니다.
이렇게 계층화가 되어야 개발로 인해 사양이 바꼈을 때 해당 계층만 바꾸면 되기 때문에 설계와 개발의 편리성을 줍니다.

  • 애플리케이션 : 통신의 방향성 제시, 어디로 가야할 지 알려주는 기능 (ex DNS)
  • 트랜스포트 (TCP, UDP) : 2대의 컴퓨터 사이의 데이터 흐름을 제공합니다.
  • 네트워크 : 패킷(가장 작은 데이터 단위)의 이동을 다룹니다.
  • 링크 : 하드웨어적인 면을 다룹니다.

주요 프로토콜 IP/TCP/DNS

  • IP : 배송을 담당합니다. 네트워크 층이며, 개개의 패킷을 상대방에서 전달하는 역할입니다. 이러기 위해 필요한 것이 IP주소, MAC 주소 입니다.
    IP주소 - 각 노드에 부여된 주소 (변경 가능)
    MAC주소 - 하드웨어적인 주소 (변경 불가능)

  • TCP : 신뢰성 담당자입니다. 트랜스포트 층이며, 바이트 스트림 서비스를 제공합니다. 용량이 큰 데이터를 패킷단위로 잘라줍니다. 그리고 이를 상대에게 보내고, 정확하게 도작했는 지 (신뢰성)을 확인하는 역할을 합니다.
    키워드 - 3 WAY handshaking (SYN/ACK로 통신 신뢰성을 확인합니다)

  • DNS : 이름 해결을 담당합니다. DNS는 HTTP와 같이 응용 계층입니다. 도메인 이름과 ip주소 이름 확인을 제공합니다. 인터넷에 naver를 검색하면 DNS에서 해당 하는 ip주소를 알려주고 이를 기준으로 송신하면 브라우저에서 naver 웹사이트를 보여주는 것 입니다. 반대로 ip주소로 부터 도메인명을 조사하는 서비스도 갖고 있습니다.

전체 흐름

  1. 클라이언트 : naver.com의 ip주소를 알려줘!
  2. DNS : naver.com의 ip주소는 "111.111.111.111"이야
  3. 위의 주소는 http 메시지를 통해 브라우저로 전달
  4. TCP : 패킷단위로 분해하고 연결 확인하며 전달
  5. IP : 라우터 기능을 통해 알맞은 IP주소와 MAC주소로 중계하면서 패킷 배송
  6. TCP : 패킷을 받아서 조립 합니다
  7. 서버 : 조립된 패킷을 보고 요청에 맞는 응답을 해줍니다.
    (응답 또한 위의 흐름을 갖고 전달 됩니다.)
profile
의미 없는 코드는 없다.

0개의 댓글