목차
- 2주차 수업 후기
- 과제
- 실습
- 핵심 키워드
- 논의해보면 좋은 것들
1. 2주차 수업 후기
이번학기에 컴퓨터 네트워크 강의를 듣고 있는데 관련 내용을 수업시간에 들으면서, 정리되는 내용도 있었고 학과 수업에서 배우는 것과의 다른 점도 찾을 수 있었다. 학과 수업은 이론 위주의 설명과 단순 구현 위주의 과제로 구성되었다면, UMC의 수업시간에는 보다 실용적인 내용과 현업에서 사용되는 이론, 실습들로 구성된 것 같다!
2. 과제
순서대로 과제 진행하면, 이해하기 더 쉬울 것입니다!
- 포트포워딩을 통해, 로컬 컴퓨터 외부 접속하기 (실습)
- 내 컴퓨터로 외부 접속할 때, 기기(핸드폰, 컴퓨터, 공유기)에서 무슨 일이 일어나는 지 순차적으로 꼼꼼하게 정리하기!!
(프로토콜, 패킷, 외부/내부 IP, Port 단어 필수 포함)
- 모바일 기기(외부 접속 기기)
- 원하는 웹페이지/주소로 이동하기 위해 주소창에 외부 IP주소: 외부 Port번호
입력
- data 요청을 packet형태로 통신 프로토콜을 통해 전송
- 서버 컴퓨터
- 네트워크 공유기로 들어온 패킷의 포함된 프로토콜대로 패킷을 전달받아 응답을 회신한다.
- 공유기
- 외부에서 특정 Port로 들어오게 되면 내부의 서버 컴퓨터로 들어가게 해준다 (링크)
- DDNS : dynamic domain name system (링크)
3. 실습 (비공개)
🔥 트러블 슈팅(실패한 경험도 성장을 위한 경험!)
- 포트 포워딩 후 외부접속 불가
- 문제 원인: 방화벽? DMZ?
- 해결방안
- wamp 서버가 켜져있는지 재확인
- wamp 서버의 내부 포트번호 변경 후 재시도 - 80 → 81, 81→80
- 서비스(외부) 포트번호 변경 후 재시도 -12 → 100, 100→ 80....
- windows 방화벽 해지 후 재시도
- window 방화벽 인바운드 규칙 추가
- DMZ IP주소 설정
- 참고 자료
4. 개념 키워드
해당 키워드에 대해 구글링/조사, 공부하시고 채워넣으세요!
아래 페이지를 참고하세요!
[예시]2주차 Work Book(Guide Book)
핵심 개념 키워드
- 클라이언트-서버 통신
- 프로토콜
- HTTP : HyperText Transfer Protocol, TCP/UDP 계층 사용, 80번 포트 사용
- HTTPS : HTTP+Secure Socket Layer, 통신의 인증과 암호화를 위해 개발
- SSL : Secure Socket Layer, 전송데이터를 암호화
- TLS : Transport Layer Security, SSL보다 강력한 보안
- FTP : File Transfer Protocol, TCP/IP 프로토콜 상의 장치가 파일 전송할 때 사용, 서버-클라이언트 모델
- SFTP : FTP + SSL (https://nhj12311.tistory.com/76)
- MYSQL : 관계형 데이터베이스 관리 시스템
- SSH : Secure Shell : 원격지 호스트 컴퓨터에 접속하기 위해 사용되는 프로토콜
- 네트워크 계층
- OSI 7 계층
- TCP/IP : 링크
- TCP : Transmission Control Protocol. 전송 조절 프로토콜
- IP : Internet Protocol, 패킷 통신 방식의 인터넷 프로토콜 (호스트간 통신을 위해 구분되는 특수한 번호)
- IP (링크)
- Packet : 인터넷에서 정보 전달하는 전송 기본 단위
- Header IP 주소, 패킷 길이 등의 제어 정보
- Body
- IPv4: Internet Protocol Version4
- IPv6 : https://kosaf04pyh.tistory.com/181
- Domain : 사용의 편의성을 위해 붙인 IP주소의 별명 (도메인: 건물명, ip주소: 실제 주소)
- Port
- 서버에서 포트란?
- 서버 컴퓨터의 주소: IP
- 들어오는 문: Port
- 프로토콜별 포트 번호 정리
- HTTP: 80
- HTTPs: 443
- FTP: 21
- SFTP: 22
- SSH: 22
- MYSQL: 3306
- SFTP와 SSH 포트번호가 같은 이유:
- 포트리스닝: 포트 열림 상태 (서버의 데몬이 접속 요청을 기다리는 상태)
- 인바운드 / 아웃바운드 (링크)
- 방화벽: 네트워크를 통과하는 통신을 허용/거부/검열/수정하는 모듈
- 데몬(Daemon)
- Port forwarding
- 공유기(router): 하나의 공인 IP를 사용하여 여러 개의 기기가 인터넷을 사용하기 위해 사용되는 네트워크 기기
- WAN: wide area network (통신사에게 전달받은 케이블을 WAN에 연결, 외부 IP할당
- LAN: local area network (하나의 공인 IP를 공유기를 사용하여 여러 기기들과 공유)
- 외부 IP (공인 IP) : 외부에 공개된 주소, 다른 pc로부터의 접근이 가능하다
- 내부 IP (사설 IP) : 일반 가정/회사 내 할당된 네트워크 주소
- 외부 포트 : 외부 기기가 접근할 때 사용하는 포트
- 내부 포트 : 공유기에 연결된 각 컴퓨터가 공유기로부터 부여받은 내부 전용 포트
- 게이트웨이 : 현재 사용자가 위치한 네트워크에서 다른 네트워크로 이동하기 위해 거쳐야하는 거점
- 방화벽 : 네트워크를 통과하는 통신을 허용/거부/검열/수정하는 모듈
추가 개념 키워드
- TCP vs UDP
- TCP (링크)
- UDP
- DNS(Domain Name Server) : IP 주소와 도메인 주소를 연결해주는 역할 (IP 주소와 Domain 이름을 기억하는 기능 + Client가 이름을 물어보면 IP를 알려주는 기능)
- ⭐Proxy⭐ (링크)
- Forward proxy
- Reverse proxy
- 네트워크 장비 : https://yys630.tistory.com/27
- 이더넷(Ethernet) : 가장 대표적인 버스 구조 방식의 LAN, 네트워크 구성하는 방식 중 하나의 방법
- 각 기기들의 고유의 MAC주소를 가지고 호스트간의 데이터를 주고 받을 수 있는 방식
- MAC 주소 : 네트워크 하드웨어를 식별하는 주소 (제조사 코드 + 기기 고유코드)
❓ 모르는 것들 / 해결하지 못한 것들
모르거나 해결하지 못한 것들을 정리해서 QnA 채널이나 스터디를 통해 같이 해결해보아요!
질문은 어떻게 하는게 좋나요?
5. 논의해보면 좋은 것들
- 패킷에 IP와 Port가 들어가야하는 이유 : 데이터 전송의 목적지 명시 필요
- SSH의 원리 : http://www.incodom.kr/SSH
- SSH와 SFTP의 Port번호(22)는 왜 같은가?
- 데몬
- 서버 보안을 위해서 어떤 부분을 신경써야할까?
- NAVER 서버는 서버가 한 대 이상일 것임.
서버가 여러대일 경우, 서버단의 통신이 어떻게 이루어질까?