IP 주소
네트워크 환경에서 컴퓨터(노드)간 통신하기 위해 각 컴퓨터에 부여된 네트워크 상 주소
- 인터넷 프로토콜(IP) 경로에서 사용되는 주소
- 3번째 계층인 네트워크 계층에서 사용되는 주소
일반 사용자가 상위 계층(DNS)에게 데이터를 요청하려면 DNS 이름 확인(서비스 요청)을 요구해야한다.
그 이름에 대한 IP주소를 넘겨 받고 그 IP에 대해서 데이터 통신이 이루어진다.
그 때 비로소 네트워크 계층이 IP 계층이 된다.
DNS
DNS란 Domain Name System의 약자이다.
숫자 형식으로 된 ip주소는 사람이 기억하기 힘들어 도메인이 나타나게 되었다. 도메인이란, www.naver.com 처럼 숫자형태의 ip주소를 이름으로 바꾼것이다.
DNS는 호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 그 반대의 변환을 수행할 수 있도록 하기 위해 개발된 시스템이다.
라우팅
데이터(패킷)들은 목적지 IP에 도착하기 전에 라우터를 거치는데, 이 라우터는 네트워크 계층으로서 데이터의 경로설정을 해준다. 이러한 과정을 라우팅이라고 한다.
TCP/IP 구조
물리 계층 : 그림에는 안나와 있지만 맨 밑에는 물리 계층이 있다. 물리 계층은 통신 매체로써 유선인 LAN선이 있다.
네트워크 접속 계층 : 데이터 링크 계층(L2계층). 종류로 이더넷이 있는데 와이파이가 이더넷의 무선 버전의 예 이다.
네트워크 계층:
IP 주소가 있음.
(L3계층) IP프로토콜. ICMP는 보조적인 프로토콜이라 무시하자. peer to peer로, 각각의 프로그램에 상응하는 다른 프로그램과 끝과 끝에서 연결할 수 있게 해준다.
전송 계층 :
Port번호가 있음.
TCP(Transmission Control Protocol) -연결형 프로토콜으로 전화처럼 끊기지 않는다. 가장 많이 쓰임
UDP(User Datagram Protocol) -비연결형으로 문자메세지처럼 받으면 끝
응용 계층: 파일 전송(FTP), 전자 메일(e-mail), 네임 서버(DNS), NFS(network file server), HTTP
TCP/IP 환경
호스트1이 호스트 2로 직접 데이터를 순식간에 전달하는 것 같지만 사실은 아니다.
데이터를 TCP -> IP -> LAN 카드 드라이버로 보내 드라이버가 전기적인 신호를 이더넷으로 흘려보내면
라우터들이 중개를 하고 호스트2의 LAN 카드 드라이버로 신호를 보내 다시 IP, TCP 계층으로 올린다.
HTTP, FTP, E-mail등등 과 같은 어떤 프로세스들이 Socket에서 제공하는 API를 써서 프로그램을 작성을 하면,
그 프로그램들은 같은 TCP로 가 구분을 해주기 위해 여러개의 Port Number로 바뀐다.
각각의 Port마다 해당 프로세스들이 존재하는 것이다.
그리고 IP 계층을 통해 드라이버카드, LAN 카드로 가서 전기적 신호를 통해 쭉 전달이 된다.
사용자 공간에서 시스템 공간으로 데이터를 요청하는 것을 시스템 콜이라 한다.(socket함수들)
TCP/IP 프로토콜 헤더
상위에서 하위 계층으로 내려갈 때 그 계층에 해당되는 헤더를 데이터에 붙인다.
그 헤더의 형태는 그림과 같다.
IP 헤더에서 가장 중요한 것은 Source Address다.
Source Address(src)는 출발지 IP 주소다.
반대로 Destination Address(dst)는 목적지 IP주소다.
라우터들이 src와 dst를 보고 그 목적지를 향해 데이터를 전달한다.
'학교 공부' 카테고리의 다른 글
프레임워크 vs 라이브러리 차이점 (0) | 2021.09.13 |
---|---|
리눅스 vi 편집기 (0) | 2021.09.11 |
[네트워크] 통신 기초- OSI 7계층 모델, 프로토콜, 라우터 (0) | 2021.09.04 |
[오픈소스소프트웨어] 오픈소스 소프트웨어의 의해 (0) | 2021.09.01 |
[설계 패턴] 디자인 패턴이란? (0) | 2021.09.01 |