5.[Network] 개발자 입장에서 Port번호 이해하기
Port 번호 : Process 식별자, Service식별자, Interface 번호
포트번호는 여러가지로 해석이 된다
개발자의 관점에서는 Process 식별자
프로그램을 하나 실행시키면 프로세스가 하나 생성된다
File: 유저 어플리케이션이 커널에 접근할 수 있도록 인터페이스가 제공되는 것
Socket: 유저 어플리케이션이 커널의 TCP 나 IP에 접근할 수 있도록 인터페이스가 제공되는 것
Port 번호: TCP socket 생성시 socket에 포함된 정보 중 하나
- TCP/IP 포트번호는 16bit
- 나올 수 있는 경우의 수: 2^16 = 0~65,535 - 2
- 0하고 65535는 안 쓴다
- 포트번호: 1~65534
ex) IP주소가 192.168.0.10 이고 프로그램이 2개가 실행이 되었을 때
- 엣지랑 크롬이 있다 침
- 인터넷에 접속하기 위해 소켓을 연다
- 엣지의 포트번호가 30000이라하면 크롬은 30000일 수 없음 -> 30001은 됨
패킷: 네트워크로 유입되는 방향 NIC>Driver>IP>TCP>Process 아래에서 위로 올라온다
4층 TCP에서 어느 프로세스로 갈건지(엣지로 갈건지 크롬으로 갈건지) 포트번호를 기준으로 결정한다
포트번호는 소켓에 바인딩 된다