Internet Network

MinSeong Kang·2022년 1월 21일
0

IT 지식

목록 보기
11/11
post-thumbnail

TCP/IP

*Internet Protocol Suite : 인터넷에서 컴퓨터들이 서로 정보를 주고 받는 데 쓰이는 통신 규약(=프로토콜)

Internet Protocol Suite 중 가장 많이 쓰이는 IP(패킷 통신 방식의 인터넷 프로토콜)과 TCP(전송 조절 프로토콜)로 이루어져 있다. 따라서 송신자는 수신자에게 IP 주소 체계를 통해 데이터를 전달하고, TCP를 통해 그 데이터가 제대로 도착했는지를 보장하여 신뢰성을 유지할 수 있는 것을 의미한다.


IP

인터넷의 한 컴퓨터에서 다른 컴퓨터로 데이터를 보내는 프로토콜
→ 한 컴퓨터에서 다른 컴퓨터의 IP 주소를 통해 패킷 단위의 데이터를 전달하는 역할을 한다.

특징

  • 비연결성 : 송신자는 수신자가 데이터를 받을 수 있는지 없는지에 대한 정보없이 데이터를 전송한다.
              ex) 패킷을 받을 대상이 없거나 서비스 불능 상태
  • 비신뢰성 : 수신자가 성공적으로 데이터를 받는다는 것을 보장하지 못한다.
              ex) 패킷이 중간에 사라지거나, 패킷이 순서대로 도착하지 않을 수 있다.
  • 프로그램 구분 : 한 IP에 대해서 통신하는 어플리케이션이 여러개인 경우를 IP 주소만 가지고 해결할 수 없다.

TCP

Transmission Control Protocol의 약자로, 두 컴퓨터가 연결된 상태에서 데이터를 주고받는 연결 지형적 프로토콜이다.

특징

  • 연결지향 : 3 way handshake를 통해 두 컴퓨터가 데이터를 주고 받을 준비가 되었다는 것을 보장한다.

    3 way handshake 란?
  1. SYN : 클라이언트는 서버에게 접속을 요청하는 SYN 패킷을 보낸다.
  2. SYN+ACK : 클라이언트의 접속 요청을 받은 서버는 클라이언트에게 요청을 수락한다는 ACK와 SYN flag가 설정된 패킷을 보낸다.
  3. ACK : 클라이언트는 서버에게 ACK를 보내고 이후로부터는 연결이 이루어져 데이터가 오가게 된다.
    ** 최근에는 클라이언트가 서버에게 3. ACK를 보낼 때 전송할 데이터와 함께 보내기도 한다.

→ 연결 확인에 문제가 있다면 클라이언트는 데이터를 보내지 않을 것이며, 문제가 없을 시 서버에게 데이터를 보낸다.

  • 데이터 전달 보증 : 클라이언트가 서버에게 데이터를 송신할때마다 확인 응답(ACK)을 주고받는 절차를 통해 신뢰성을 높인다.
  • 데이터 순서 보장 : 데이터가 유실되었거나, 클라이언트가 보낸 데이터의 순서가 바뀌면 데이터 재전송을 요청하여 신뢰성을 보장한다.

UDP

→ 전송계층의 비연결 지향적 프로토콜이다.
→ 연결 절차가 없기 때문에 TCP보다는 빠른 전송이 가능하지만 신뢰성이 떨어진다.
→ 포트 번호를 이용하여 주소를 지정하고 데이터 오류 검사를 위한 checksum이 존재한다.

PORT

한 IP 내에서 프로세스 구분을 위해 사용한다.
→ 이미 사용중이 포트는 중복해서 사용할 수 없다.
→ 포트 번호는 0 ~ 65,535 까지 사용가능하다.
→ 포트 번호 0 ~ 1023 는 잘 알려진 포트 번호로 사용하지 않는 것이 좋다
  ex) FTP - 20, 21  TELNET - 23  HTTP - 80  HTTPS - 443

DNS(Donamin Name System)

→ 호스트의 도메인 이름을 호스트의 IP 주소로 바꾸거나 그 반대로 변환을 수행할 수 있도록 하기 위해 개발되었다.
IP 주소는 기억하기 어렵고 중간에 변경될 수 있는데, DNS을 통해 해결할 수 있다.
→ 흔히 전화번호부에 비유된다.


참고 자료

https://www.inflearn.com/course/http-웹-네트워크
https://aws-hyoh.tistory.com/entry/TCPIP-쉽게-이해하기
https://coding-factory.tistory.com/614
https://ko.wikipedia.org/wiki/도메인_네임_시스템

0개의 댓글