일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 절차적 사고
- 말 인용
- 딥러닝
- 선택
- 기계어
- 뿌..
- 프로그래밍
- 처리
- 운영체제의 기능 1. 자원 관리 기능 2. 시스템 보호 3. 네트워크(통신 기능)
- 출력
- 겁나 많아
- 운영체제 목적
- 미래 사회의 단위
- 순서도
- 절차적 사고의 장점
- 장치에 할당할 수 없는 NET ID Broadcast주소
- 운영체제의 미래
- 소프트웨어
- 공부정리
- 반복 구조 찾기
- 국립과천과학관
- gensim 3.7.3 설치 오류
- 레지스터
- 운영체제의 발달 과정
- 해결 방안
- 소프트웨어 시대
- 운영체제 서비스
- 컴퓨터
- 앨런 튜링
- 패킷트레이서 이용
- Today
- Total
hye-_
TCP/IP란? 본문
TCP/IP란?
기본적인 프로토콜
인터넷을 사용하는 모든 통신의 기본적인 프로토콜을 말한다.
여러 가지 프로토콜
한 개의 프로토콜이 아닌 여러 가지 프로토콜로 조합되어 있다.
인터넷을 하거나 네트워크를 하는 모든 장치는
TCP/IP 프로토콜을 사용해서 데이터를 주고받아야 한다.
TCP/IP를 기반으로 해서
BAN, PAN, LAN, MAN, WAN 구간의 장치들이 원활히 데이터를 주고받을 수 있음
인체 영역 통신망(BAN: Body Area Network)
내 손에 있는 스마트워치와 핸드폰이 무선으로 데이터를 주고받는
정도의 구간을 말한다.
개인 네트워크 (PAN : personal area network)
나의 핸드폰 하고 나의 노트북 하고 테더링 하는 무선네트워크
정도의 구간을 말한다.
LAN, MAN, WAN은 유선 구간이다.
LAN(Local Area Network) : [ pc-sw-라우터 ] 연결된 구간
WAN(Wide Area Network) : [ 라우터-라우터 ] 연결된 구간
TCP/IP는 OSI 7 계층하고 달리 4개의 계층으로 표현됨
TCP는 서비스를 의미한다.
IP는 주소를 의미한다.
즉, 주소(IP)를 기반으로 서비스(TCP)가 이루어지는 구조를 갖고 있다.
UDP/IP
서비스는 TCP만 있는 것이 아니다. UDP 서비스도 있다.
IP가 하는 역할은?
D <-> D
데이터가 이동되게 하는 역할을 함
수많은 프로토콜들이 IP 주소를 기반으로 동작하고 있다.
데이터가 이동되면서 어떠한 서비스를 받을 것이냐?
서비스 내용은 TCP와 UDP에 정의되어 있다.
OSI 참조 모델과 TCP/IP 비교
응용 계층 (Application Layer) | 응용 계층 (Application Layer) |
표현 계층 (Presentation Layer) | |
세션 계층 (Session Layer) | |
전송 계층 (Transport Layer) | 전송 계층 (Transport Layer) |
네트워크 계층 (Network Layer) | 인터넷 계층 (Internet Layer) |
데이터링크 계층 (Data Link Layer) | 네트워크 접속 계층 (Network Access Layer) |
물리 계층 (Physical Layer) |
네트워크 접속 계층 (Network Access Layer)
프레임의 송신과 수신을 담당
OSI 참조 모델의 물리 계층과 데이터링크 계층의 역할을 수행함으로 프레임을 담당한다.
ARP 프로토콜과 RARP 프로토콜을 사용한다.
ARP (Address Resolution Protocol) | RARP (Reverse Address) |
목적지의 MAC 주소를 모를 경우 이를 알아내기 위해서 사용하는 프로토콜 | 목적지의 IP 주소를 모를 경우 이를 알아내기 위해 사용하는 프로토콜 |
목적지의 MAC주소를 모르면 데이터를 보낼 수 없다.
그렇기 때문에 목적지의 MAC 주소를 알아내기 위한 프로토콜이 필요한 것이다.
우리가 통신을 할 때에는
목적지의 MAC주소와 IP 주소가 정확하게 정의가 된 다음에 서로 간의 데이터 통신을 할 수 있다.
모든 출발지 (source)는 도착지(destination)를 다 알 수 없다.
통신이 이루어지기 전에 ARP 프로토콜과 RARP 프로토콜을 사용해서 목적지의 IP주소와 MAC주소를 알아낸다.
ARP는 Broadcast를 수행하며, ARP의 대한 응답은 Unicast를 수행한다.
Broadcast는 자기 영역 안에 있는 전체 Broadcast한테 다 한꺼번에 데이터를 보내는 것을 말한다.
Broadcast 수행이란?
요청 호스트들이 존재할 때, 목적지 호스트를 모르기 때문에
1. 같은 네트워크에 있는 모든 호스트들한테 ARP 프로토콜을 보내게 된다.
2. ARP를 받은 목적지 호스트 중에서
3. 자신의 것이 아닌 목적지 호스트는 그에 대한 응답을 하지 않는다.
4. 자신의 것인 목적지 호스트는 자신한테 요청한 요청 호스트에 응답을 한다.
5. 응답을 하면 1대 1 통신이므로 이 응답은 Unicast에 해당한다.
RARP는 Unicast를 수행한다.
Unicast는 1대1 통신을 말한다.
NIC, 스위치, 허브
네트워크 접속 계층을 대표하는 장치
요즘에는 스위치에 허브, 브릿지가 들어가 있기 때문에 스위치만 사용함
에러 검출 기능, 패킷을 프레임화 한다.
네트워크 접속 계층 역할.
인터넷 계층 (Internet Layer)
패킷의 송신과 수신을 담당
OSI 참조 모델의 3 계층의 역할을 수행함으로 패킷을 담당한다.
IP 주소 체계를 관리한다.
패킷을 수신하면, IP 주소를 확인하여 패킷을 목적지로 보내는 라우팅 기능을 수행한다.
라우팅 기능은 어떠한 경로를 사용하는지가 중요하다.
라우팅 경로는 어떠한 라우팅 프로토콜을 쓰느냐에 따라 달라질 수 있음
인터넷 계층의 장비
라우터
IP (Internet Protocol) | ICMP (Internet Control Message Protocol) |
컴퓨터 네트워크에서 장치들을 나타내는 수단이며, v4(32bit)와 v6(128bit) 2가지가 존재함 | 인터넷 제어 메시지 프로토콜이며, 장치 간의 통신 가능 여부를 확인할 때 사용 (ex. Ping) |
v6이 나온 이유
v4 주소가 부족하여 v6이 나옴
v4 32bit로 10진수로 표현된다.
v6 128bit로 16진수로 표현된다.
ICMP는 우리가 네트워크를 다 구축하고 난 다음에
이 네트워크 장비가 서로 통신할 수 있는지 알아보는 명령어다.
많이 쓰는 명령어로는 ping이라는 명령어가 있다.
Ping은 두 개의 구조로 되어 있다.
Echo Request(요청), Echo Reply(응답)로 구성되어 있다.
Echo Request(요청)
해당하는 장치가 잘 있는지 물어보는 것이다.
Echo Reply(응답)
Echo Request(요청)를 받은 장치가 잘 있다고 응답하는 것이다.
응답이 오면
해당하는 장치가 네트워크에서 잘 동작하고 있는 것이다.
응답이 안 오면
생각할 수 있는 게 두 개다.
1. 네트워크에서 동작하고 있지 않다.
2. 요청을 보낸 장치에서 방화벽이 동작하고 있다면, 네트워크에서 올바르게 동작하고 있다 할지라도
방화벽이 요청을 막아버린다.
전송 계층 (Transport Layer)
종단 간의 통신이 완성되는 계층이다.
TCP (Transmission Control protocol),
UDP (User Datagram Protocol)가 대표적이다.
우리가 받는 네트워크 서비스는 TCP에 속해있거나, UDP에 속해있다.
우리가 일반적으로 많이 사용하는 HTTP 웹 브라우저를 사용하는 인터넷 서비스는
TCP에 속해있다.
TCP와 UDP는 포트번호를 이용해서 통신을 한다.
포트번호를 기반으로 한다.
출발지 S, 목적지 D
IP : 데이터가 출발지에서 출발해서 목적지로 도착할 때까지만 IP 주소가 관여를 한다.
어떠한 서비스를 받을 것인지는, 포트번호로 결정
목적지에 어떠한 포트번호로 접속할 것인지에 따라서 내가 어떠한 서비스를 받느냐가 결정된다.
TCP는 신뢰성 있는 통신을 제공하지만,
UDP는 TCP보다 신뢰성 있는 통신을 제공하지 않는다.
UDP는 TCP보다 통신 데이터 처리 속도가 빠르다.
더 빠른 이유가 존재한다.
빠른 이유는?
TCP는 신뢰성 있는 통신을 위해서, S에서 D까지 데이터를 보냈을 때 반드시 응답을 받아야 하는데,
UDP는 응답을 받지 않아도 다음 데이터를 전송할 수 있다.
이런 구조를 띄고 있기 때문에 TCP와 UDP를 비교하였을 때 UDP가 더 데이터를 빨리 보낸다.
데이터를 빨리 보내지만, 확실히 신뢰성 있는 통신은 아니다.
신뢰성 있는 통신은 데이터를 보내고 잘 도착했는지 확인한 후, 다음 데이터를 보내는 것이다.
TCP와 UDP의 포트번호와 어떤 서비스를 사용하는지
TCP와 UDP의 정의는 국제표준화문서인 RFC1700 문서에 정확하게 제공되고 있다.
RFC1700 문서에는 Well-know 포트를 제공하고 있다.
Well-know 포트란?
대부분의 시스템 간에 널리 이용되는 애플리케이션을 위해 기본 값으로 설정되어 있는 포트 번호를 의미한다.
우리가 사용하고 있는 http 같은 경우에는
TCP 80번이다. 이 TCP 80번을 Well-know포트라고 한다.
TCP/UDP Well Know 포트 | |||
Port 번호 | Service name | comment | |
7 | Echo | Echo Protocol | |
22 | SSH | SSH Remote Login Protocol | |
53 | domain | Domain Name Server |
SSH은 암호화를 한다.
원격 접속할 때 사용하는 프로토콜
'telnet'도 원격 접속 시 사용하는 프로토콜이다.
telnet보다는 훨씬 안정적으로 원격 접속할 수 있다.
telnet은 암호화를 하지 않는다.
주고받은 데이터를 암호화하지 않는다.
암호화를 하지 않기 때문에 원격 접속 시 해킹에 당할 염려가 있다.
domain은 DNS를 의미한다.
well-know 포트가 TCP, UDP둘다 제공되고 있다.
예) 내가 DNS를 받고 싶다.라고 하면.
DNS 서비스를 받기 위해서 우리는 TCP를 사용할 수도 있고, UDP도 사용할 수 있다.
응용 계층 (Application Layer)
OSI 참조 모델의 세션, 표현, 응용 계층의 역할을 수행하는 계층이다.
네트워크를 통한 실제 사용자데이터를 처리하는 계층이다.
실질적으로 사용자하고 바로 인터페이스가 연결되어 있는 계층이다.
HTTP, HTTPS, FTP, SMTP, POP3, DNS 등이 응용 계층에 해당한다.
HTTP 암호화 안 함
인터넷 홈페이지를 볼 때 HTTP로 인터넷을 보면 암호화를 하지 않는다.
HTTPS 암호화 함
HTTPS로 데이터를 주고받게 되면 서버와 클라이언트가 주고받는 데이터를 암호화해서 주고받는다.
FTP
네트워크나 인터넷상에서 파일 주고받을 때 사용하는 프로토콜
SMTP, POP3
이메일을 사용할 때 사용하는 프로토콜
DNS
도메인 서비스.
참고사이트 - 메가존아이티평생교육원 | 네트워크Ⅰ | 김정윤
'CS > 네트워크 Ⅰ' 카테고리의 다른 글
UDP 헤더 설명 (0) | 2023.02.21 |
---|---|
TCP 헤더 설명 (0) | 2023.02.21 |
OSI 7 Layer 계층 캡슐화 (0) | 2023.01.22 |
OSI 7 계층의 표현계층, 응용계층 (0) | 2023.01.22 |
OSI 7 계층의 전송 계층, 세션 계층 (0) | 2023.01.22 |