오늘은 과제 제출날이어서 아침부터 바빴다. 여유있게 과제를 제출했어야하는데 주말에 조금 쉬었다보니 다소 빠듯하게 제출하게 되었다. 앞으로는 이런일이 없도록 해야겠다.
여기에는 오늘 공부한 내용을 조금 정리해보았다.
1. NAPT
지난 번에 NAT와 포트를 정리하면서 같이 정리하면서 NAPT에 대해서는 정리를 못해서 짧게 정리해보았다.
- NAPT(Network Address Port Translation)
NAT는 네트워크 내부에서 사용되는 사설 IP 주소와 네트워크 외부에서 사용되는 공인 IP 주소를 변환하는데 사용된다. 변환을 위해 주로 사용되는 것이 NAT 변환 테이블이다. NAT 변환 테이블에는 변환의 대상이 되는 IP 주소 쌍(공인 IP 주소와 사설 IP 주소)이 명시되어 있다.
이 NAT 변환 테이블에는 사설 IP 주소 하나당 공인 IP 주소 하나가 대응되어있다. NAT 테이블의 항목을 일대일로 대응해 NAT를 활용하는 것이 가능하기는 하지만, 이 방식만으로는 많은 사설 IP 주소를 변환할 수가 없다. 사설 IP 주소와 공인 IP 주소가 1대1로 대응된다면 내트워크 내부에서 사용되는 사설 IP 주소의 수만큼 공인 IP 주소가 필요할 것이다.
오늘날의 NAT 기술은 대부분 다수의 사설 IP 주소를 그 보다 적은 수의 공인 IP 주소로 변환한다. 이 것을 가능하게 하는 것이 포트 기반의 NAT이고 이것을 NAPT라고 한다. (APT라고 부르기도 한다.)
NAPT는 포트를 활용해 하나의 공인 IP 주소를 여러 사설 IP 주소가 공유할 수 있도록 하는 NAT의 일종이다. 네트워크 외부에서 사용할 IP 주소가 같더라도 포트 번호가 다르면 네트워크 내부의 호스트를 특정할 수 있기 때문에, 다수의 사설 IP 주소를 그 보다 적은 수의 공인 IP 주소로 변환할 수 있게 된다.
NAPT를 이용하면 네트워크 내부에서 사용할 IP 주소와 네트워크 외부에서 사용할 IP 주소를 다대일로 관리할 수 있게 된다. 이처럼 NAPT는 공인 IP 주소 수 부족 문제를 개선한 기술로도 간주된다.
NAPT는 NAT 테이블에 변환될 IP 주소 쌍과 더불어 포트 번호도 함께 기록한다.
포트 포워딩
포트 포워딩이란 네트워크 내 특정 호스트에 IP 주소와 포트 번호를 미리 할당하고, 해당 IP주소:포트번호로써 해당 호스트에게 패킷을 전달하는 기능이다.
특정 IP 주소와 포트 번호 쌍을 특정 호스트에게 할당한 뒤, 외부에서 통신을 시작할 호스트에게 해당 접속 정보를 알려주면 된다. 그럼 네트워크 외부 호스트는 그 IP주소:포트 번호로 통신을 시작할 수 있따. 이처럼 포트 포워딩은 주로 네트워크 외부에서 네트워크 내부로 토신을 시작할 때, 네트워크 내부의 서버를 외부에서 접속할 수 있도록 접속 정보를 공개하기 위해 자주 사용된다.
위의 그림에서 외부 호스트가 200.100.10.1:1024로 패킷을 전송하면 10.1.1.1:1024로 전달되는 것이고 나머지도 포트번호에 따라 전송되게 되는 것이다.
오늘은 강의와 세션이 많아서 아쉽게도 이 정도밖에 정리를 못했다. 다음에 시간이 나면 TCP/UDP에 대해 정리할 기회가 있었으면 좋겠다.
2. 오늘 배운 것
- 오늘은 세션이 많아서 많은 것을 하지는 못했다. 도커 강의도 조금 들어보았는데 아직 갈길이 먼 것 같다. 열심히 달려봐야겠다.
'오늘 배운 것' 카테고리의 다른 글
24-07-03 Redis (0) | 2024.07.03 |
---|---|
24-07-02 프로젝트 첫 날 (0) | 2024.07.02 |
24-06-30 알고리즘 문제 풀이 (0) | 2024.06.30 |
24-06-28 IP 주소 (0) | 2024.06.28 |
24-06-27 알고리즘 문제 풀이 (0) | 2024.06.27 |