## 포트???? --> 논리적 접속 위치
: 하나의 컴퓨터 안에도 여러 "문이" 존재한다.
: 포트번호로 구별한다(문 번호를)
- 집(192.168.0.1) 안에 문 80번 : 웹서버(HTTP) / 문 443번 : 웹서버(HTTPS) / 문 22번 : 원격 접속(SSH) 존재
: 하나의 컴퓨터에 여러가지의 네트워크 프로세스가 일어날 수 있다.
여러대의 컴퓨터가(HTTP,SSH,FTP,,,) 인터넷을 통해서 하나의 컴퓨터와 소통을 하려고 할 때
그렇게 되면, 프로토콜들을 구별해야 한다. 구별을 하기 위해서 포트를 통해 구별한다.
IP + Port = Socket 가상의 파이프(소켓)
: 방화벽은 누가 누구에게 어떤 방식(TCP/UDP)으로 , 어느 포트로 통신할 건지를 기준으로 통과 or 차단 결정
- 단방향 : 출발지-->목적지 트래픽만 허용 (A->B)요청만 가능!
- 양방향 : 출발지<-> 목적지 서로 요청/응답 가능해야 하는 서비스!
| 내가 요청을 보내고 응답만 받는 구조인가? | ✅ 단방향이면 충분 |
| 상대방도 내 쪽으로 먼저 접속할 수 있어야 하나? | 🔁 양방향 필요 |
| 실시간 통신, RPC, 양쪽 서비스가 다 클라이언트+서버 역할? | 🔁 양방향 필요 가능성 높음 |
**자주 쓰이는 프로토콜과 포트
: 포트 | 프로토콜 | 용도
: 20 | FTP | 데이터전송
: 22 | SSH | Secure Shell
: 22 | SFTP | 데이터 전송
: 25 | SMTP | 이메일 전송
: 53 | DNS | Domain Name System(ex)naver.com
: 80 | HTTP | 웹 페이지 전송
: 443 | HTTPS | 웹 페이지 전송
**
Port Type | Port Numbers | Description
: Well Known Ports | 0~1023 | 잘 알려진 프로토콜
: Registered Ports | 1024~49151 | 잘 알려지지 않았지만 등록된 프로토콜
: Dynamin Ports | 29152~65535 | 누구나 사용 가능한 포트
네트워크 소통 - Internet Protocol
단점
- 데이터 전달이 제대로 안 이루어질 수 있다.
- 데이터를 보내기만 하고, 잘 전달됐는지 확인하지 않는다.
- 라우팅 과정에 패킷이 버려질 수도 있다.
- 또는 프레이밍이 제대로 안 이루어져서 데이터가 손상될 수도 있다.
**TCP(Transmission Control Protocol)
- 느리지만 안전하다(소포를 보내고 도착했는지까지 확인)
- Internet Protocol의 단점들을 보안(완)하기 위해 만들어진 프로토콜이 바로 TCP이다.
- Connection-Oriented 어플리케이션 소통이 끝날 때까지 커넥션이 꺼지지 않는다.
- 데이터가 잘 전달됐는지 확인하고 그리고 제대로 전달이 안 됐을 시 다시 보낸다.
Frame 프레임
목적지 MAC 주소 | 출발지 MAC 주소 | 데이터(IP 패킷)
IP 패킷
소스(출발) IP 주소 | 목적지 IP 주소 | 데이터(TCP 세그먼트)
TCP 세그먼트
소스 포트 | 목적지 포트 | ...| checksum | data| Application Layer Protocol
**TCP 자세하게 보기.
클라이언트 <-> <-> 서버
ip-192.168.100.1 ip-192.168.10.1
**UDP(User Datagram Protocol)
- 빠르지만 확인 안 한다.(엽서 보내기)
- 동영상이나 웹 스트리밍을 할 때 주로 사용한다.
- Connectionless 어플리케이션 소통이 안전하지 않습니다.
- 데이터가 잘 전달됐는지 확인하지 않는다 그렇기에 제대로 전달이 안 됐을 시 다시 보내지 않는다.
장점)
- TCP보다 빠르고 가볍다.
- TCP 헤더는 20바이트인 반면, UDP 헤더는 8바이트 밖에 되지 않는다.
- UDP는 데이터가 잘 전달됐는지 확인하지 않기 때문에 빠르다.
Frame 프레임
목적지 MAC 주소 | 출발지 MAC 주소 | 데이터(IP 패킷)
IP 패킷
소스(출발) IP 주소 | 목적지 IP 주소 | 데이터(UDP 세그먼트)
UDP 세그먼트
소스포트 | 목적지 포트 | 길이 | checksum | data | Application Layer Protocol
**Application Layer Protocol
HTTP,SSH,FTP,SFTP,HTTPS: TCP 기반
DHCP,DNS : UDP 기반
1) DHCP(Dynamic Host Configuration Protocol)
- Ports : 67,68
- Transport Layer Protocol : UDP
- 네트워크에 연결된 디바이스들의 IP 주소들을 자동으로 할당을 해주는 프로토콜이다.
- IP Address, Subnet Mask, Default Gateway 들을 할당한다.
2) DNS(Domain Name System)
- Ports : 53
- Transport Layer Protocol : UDP
- 도메인 주소를 IP 주소로 변경해주는 프로토콜이다.
ex) naver.com -> 223.130.195.200(naver IP)
3) Daytime
- Port : 13
- Transport Layer Protocol : TCP/UDP 이용할 수 있다.
- 현재 날짜와 시간을 알려주는 프로토콜
4) SSH(Secure Shell)
- Port : 22
- Transport Layer Protocol : TCP
- 멀리 떨어져 있는 호스트를 원격으로 연결시켜주는 프로토콜, 암호화를 사용하여 정보교환을 보호할 수 있다.
5) FTP(File Transfer Protocol)
- Port : 20,21
- Transport Layer protocol : TCP
- 시스템간 파일전송을 하는 프로토콜이다.
- 데이터가 텍스트로 전송되기 때문에 보안이 취약하다.
- 요즘은 거의 사용하지 않는다. 대신 SFTP를 사용한다. (SSH를 이용해서 FTP 사용하는 거)
6) SFTP(Secure File Transfer Protocol)
- Port : 22
- Transport Layer Protocol : TCP
- SSH를 활용하여 시스템간 파일전송을 하는 프로토콜이다.
- 데이터가 암호화되어 전송되기 때문에 보안이 철저하다.
7) SMTP(Simple Mail Transfer Protocol)
- Port: 25
- Transport Layer Protocol : TCP
- 클라이언트에서 이메일 서버에 이메일 전송을 하는 프로토콜이다.
- 암호화를 사용하여 이메일을 전송 가능하다.
8) IMAP(Internet Message Access Protocol)
- Port: 143
- Transport Layer Protocol : TCP
- 서버에서 이메일을 받아오는 프로토콜이다.
- 유저들이 이메일 서버에 접속해서 메일들을 보고 다운받을 수 있게 해주는 프로토콜
- 여러 디바이스에서 이메일 서버에 접속이 가능하다.(Gmail 등)
9) HTTP(HyperText Transfer Protocoll)
- Port: 80
- Transport Layer Protocol : TCP
- 웹 사이트 브라우징 프로토콜
- 웹서버에 웹페이지 정보를 요청(Request)하고 웹서버는 응답(reply)를 한다.
- HyperText Markup Language(HTML)을 사용하여 정보를 전달한다.
- 데이터가 텍스트로 전달되기 때문에 보안이 취약하다.
10) HTTPS(HyperText Transfer Protocol Secure)
- Port : 443
- Transport Layer Protocol : TCP
- 암호화를 사용한 HTTP 프로토콜
- 웹서버로부터 웹페이지 정보를 요청하고 받아온다.
- Hypertext Markup Language(HTML)을 사용한다.
- 데이터가 암호화되어 전달되기 때문에 보안이 좋다.
**인트라넷 vs 인터넷
1) 인트라넷 - 개인의 공간, 건물, 비즈니스 내에서 사용 ex) 군대, 공단
2) 인터넷 - 거대한 네트워크망
**OSI7 계층
7 - Application Layer -Data
: 프로토콜을 담고있다.
6 - Presentation Layer - Data
: 데이터를 그냥 보내지 않고 암호,복호화로 보낸다. (음악 파일을 어떤 파일,형식으로 보낼 것인가)
5 - Session Layer - Data
: 여러가지 컴퓨터와 한 컴퓨터와 소통중 프로그램들을 세션으로 구분
4- Transport Layer - Segment
3 - Network Layer - Packet
2 - Data Link Layer - Frame
1 - Physical Layer - Frame
**TCP/IP Model - 메시지 전송 방법
4 - Application Layer - Data
3 - Transport Layer - Segment
2 - Internet Layer - Packet
1 - Network Access Layer - Frame
Data -> Segment -> Packet -> Frame 담는다!
Frame안에 Packet 안에 Segment 안에 Data 담아서 인터넷을 통해 데이터를 전달한다.
**DMZ
ex) 내부 네트워크 <-> 방화벽 <-> DMZ <-> 방화벽 <-> 외부 네트워크
- Demilitarized Zone의 약자로 내부/외부망의 중간 지점을 의미한다.
내부/외부 네트워크 사이에 중간지점에 위치하여 침입 차단 시스템 등으로 접근 제한을
수행하지만 외부에서 DMZ로의 직접 접근은 가능하다.
##참고 : https://hyeri0903.tistory.com/225
**DNS(Domain Name System)
- 호스트의 도메인이름(http://www.naver.com)을 네트워크 주소(192.168.1.0)으로 변환하거나
그 반대의 역할을 수행하는 시스템이다. (문자열의 탈을 쓴 IP)
ex)
서비스 도메인 주소 IP주소
다음 daum.net 203.133.167.81
네이버 naver.com 223.130.200.104
구글 google.com 142.250.207.14
##참고 : https://inpa.tistory.com/entry/WEB-%F0%9F%8C%90-DNS-%EA%B0%9C%EB%85%90-%EB%8F%99%EC%9E%91-%EC%99%84%EB%B2%BD-%EC%9D%B4%ED%95%B4-%E2%98%85-%EC%95%8C%EA%B8%B0-%EC%89%BD%EA%B2%8C-%EC%A0%95%EB%A6%AC#%E2%80%8Bdns_domain_name_system_%EB%9E%80?
'네트워크' 카테고리의 다른 글
| 07-네트워크 기초&기본 개념 공부 (0) | 2025.04.17 |
|---|---|
| 06-네트워크 기초&기본 개념 공부 (0) | 2025.04.12 |
| 04-네트워크 기초&기본 개념 공부. (0) | 2025.03.09 |
| 03-네트워크 기초&기본 개념 공부. (0) | 2025.03.09 |
| 02-네트워크 기초&기본 개념 공부. (0) | 2025.03.09 |