'TCP/IP 쉽게 더 쉽게' 라는 책을 중심으로 학습 정리한 포스팅입니다. 잘못된 내용이 있다면 언제든 지적해주시면 감사하겠습니다.🙇🏻♀️
컴퓨터 네트워크의 종류
- 컴퓨터 네트워크는 여러 대의 컴퓨터를 서로 연결하여 데이터를 주고 받을 수 있도록 망이 사전에 구축된 것을 말한다.
- LAN은 Local Area Network로 근거리 네트워크
- WAN은 Wide Area Network로 장거리 네트워크
- 여러 네트워크 중에서도 가장 규모가 큰 네트워크가 인터넷이다
서버와 클라이언트
- 서비스를 제공하는 쪽이 서버, 서비스를 받은 쪽이 클라이언트
- 피어 투 피어(P2P): 네트워크에 연결된 두 대의 컴퓨터가 클라이언트와 서버의 역할을 동시에 할 수 있어서 서로 서비스를 주고 받을 수 있는 통신방식. 주로 개인 컴퓨터 간의 파일공유, 인터넷 전화 등에 활용
네트워크와 계층 모델
애플리케이션 계층
웹 서비스, 이메일과 같은 서비스를 사용자에게 제공한다.
- 웹 브라우저와 웹 서버가 애플리케이션 계층에 속하는 프로그램.
- 데이터의 내용을 보고 그에 맞는 서비스를 처리하는데 집중하고 데이터 전송에 대해서는 하위 계층에 위임한다.
트랜스포트 계층
애플리케이션 계층과 인터넷 계층 사이에 데이터가 올바르게 전달되도록 중계한다.
- 데이터를 전송하기에 적합한 크기로 작게 쪼갠 후(이것을 패킷 이라고 부른다) 목적지 프로그램을 식별할 수 있는 정보(포트 번호 정보를 헤더에 붙인다)를 덧붙인다.
- 패킷(Packet): 파일을 쪼갠 작은 단위. 전달될 주소(Address) 정보를 가지고 있다.
- 데이터가 제대로 전달되지 않았을 때 재전송 하는 것도 이 계층에서 이루어진다.
- 모든 데이터가 수신된 것을 확인하고 데이터들이 결합되면 목적지의 프로그램에 전달한다. (포트 번호 정보를 헤더에서 떼어낸다.)
인터넷 계층
목적지의 IP 어드레스로 데이터를 전달한다.
- 수신측의 컴퓨터를 식별할 수 있는 정보(어드레스)를 덧붙인다.
- 어드레스 정보를 보고 데이터를 전달하기 위해 라우터(router)를 사용한다.
- 자신이 수신해야 하는 데이터라고 판단되면 데이터를 트랜스포트 계층으로 전달한다.
네트워크 인터페이스 계층
네트워크 어댑터와 같은 하드웨어를 통해 데이터를 전달한다.
- 네트워크 어댑터(무선 LAN 어댑터 또는 유선 LAN 어댑터)가 처리할 수 있는 형태로 데이터를 변환하고 데이터를 전달
- 하드웨어(주변 장치)에 신호를 전달하는데 필요한 정보를 덧붙인다.
- 헤더나 트레일러를 떼어내고 인터넷 계층으로 전달한다.
계층 분류
4개 계층 중 서비스의 내용을 결정하는 것은 애플리케이션 계층이고 나머지 3개 계층은 데이터를 전달하는 통신기능을 담당한다.
프로토콜
컴퓨터와 컴퓨터가 통신할 때 지켜야 할 절차나 규약
예시: ‘어떤 절차에 따라 무엇을 보낼 것인가’, ‘전송이 잘 되지 않았을 때 어떻게 할 것인가’와 같은 것들 정의
계층 모델에 따라 프로토콜이 정해져 있다.
- ex)
애플리케이션 계층: HTTP
라는 프로토콜에 따라 동작하도록 만들어진 웹 서버
트랜스포트 계층, 인터넷 계층: TCP/IP
라는 프로토콜에 따라 동작하도록 만들어진 OS 내장 통신 프로그램
네트워크 인터페이스 계층: 이더넷
이라는 프로토콜에 따라 동작하도록 만들어진 네트워크 어댑터용 디바이스 드라이버
그림출처: https://velog.io/@dami/CSNetwork
프로토콜의 표준화
- 인터넷에 관련 된 것은
IEFE
(Internet Engineering Task Force)
- 이더넷이나 무선 LAN과 같은 하드웨어는
IEEE
(Institute of Electrical and Electronics Engineers)
- 웹에 관련된 것은
W3C
(World Wide Web Consortium)이 맡아서 관리하고 있다.
TCP/IP
TCP/IP는 하나의 프로토콜을 지칭하는 말이 아닌 인터넷에서 사용되는 각종 표준 프로토콜을 한데 모아 일컫는 말.
인터넷은 TCP/IP라는 프로토콜 집합을 사용해서 전 세계의 네트워크들을 연결하고 통합한 세계 최대의 네트워크.
IP
- IP의 역할: 개개의 패킷을 상대방에게 전달하는 것.
이 때 IP주소와 MAC(Media Access Control Address)라는 요소가 중요하다.
IP주소는 각 노트에 부요된 주소를 가리키고 MAC 주소는 각 네트워크 카드에 할당된 고유의 주소이다.
IP 주소는 변경 가능하지만 MAC 주소는 변경 할 수 없다.
IP통신은 MAC주소를 사용하여 목적지를 찾아가는 것. 이 때 ARP(Address Resolution Protocol) 이라는 프로토콜이 사용됨.
TCP
-
TCP의 역할: 대용량의 데이터를 보내기 쉽게 작게 잘라 상대에게 보내고 정확하게 도착했는지 확인한다.
-
트랜스포트 층에 해당. 신뢰성 있는 바이트 스트림 서비스를 제공.
바이트 스트림 서비스란 용량이 큰 데이터를 보내기 쉽게 패킷이라는 단위로 잘라 관리하는 것이다.
-
Three way handshaking
: 패킷을 보내고 나서 보내졌는지 여부를 확인하는 것.
SYN
, ACK
라는 TCP 플래그를 사용.
- 송신측에서는 최초
SYN
플래그로 상대에게 접속함과 동시에 패킷을 보냄
- 수신측에서는
SYN/ACK
플래그로 상대에게 접속함과 동시에 패킷을 수신한 사실을 전함
- 송신측이
ACK
플래그를 보내 패킷 교환이 완료되었음을 전함.
- 이 과정 중에 어디선가 통신이 끊어지면 다시 같은 순서로 패킷을 재전송함.
복습하기 좋네요 ㅎㅎ 잘봤습니다 케이~!