네트워크는 여러 컴퓨터들을 통신 회선으로 연결한 것을 말함. LAN은 가정, 회사, 건물, 특정 영역에 존재하는 컴퓨터를 연결한 것이고, WAN은 LAN을 연결한 것임. WAN이 우리가 흔히 말하는 인터넷임.

네트워크에서 유무선으로 컴퓨터가 연결되어 있다면 실제로 데이터를 주고받는 행위는 프로그램들이 함. 서비스를 제공하는 프로그램을 일반적으로 서버라고 부르고, 서비스를 요청하는 프로그램을 클라이언트라고 부름.
인터넷에서 두 프로그램이 통신하기 위해서는 먼저 클라이언트가 서비스를 요청하고, 서버는 처리 결과를 응답으로 제공해줌.

컴퓨터의 고유한 주소가 IP 주소임. IP 주소는 네트워크 어댑터마다 할당됨. 만약 컴퓨터에 두 개의 네트워크 어댑터가 장착되어 있다면, 두 개의 IP 주소를 할당받을 수 있음.
네트워크 어댑터에 어떤 IP 주소가 부여되어 있는지 확인하려면 윈도우에서는 ipconfig 명령어를, 맥OS에서는 ifconfig 명령어를 실행하면 됨.
연결할 상대방 컴퓨터의 IP 주소를 모르면 프로그램들은 서로 통신할 수 없음. 프로그램은 DNS를 이용해서 컴퓨터의 IP 주소를 검색함.
여기에서 DNS는 도메인 이름으로, IP를 등록하는 저장소임. 대중에게 서비스를 제공하는 대부분의 컴퓨터는 다음과 같이 도메인 이름으로 IP를 DNS에 미리 등록해 놓음.

웹 브라우저는 웹 서버와 통신하는 클라이언트로, 사용자가 입력한 도메인 이름으로 DNS에서 IP 주소를 검색해 찾은 다음 웹 서버와 연결해서 웹 페이지를 받음.
한 대의 컴퓨터에는 다양한 서버 프로그램들이 실행될 수 있음. 예를 들어 웹 서버, 데이터베이스 관리 시스템, FTP 서버 등이 하나의 IP 주소를 갖는 컴퓨터에서 동시에 실행될 수 있음.
이 경우 클라이언트는 어떤 서버와 통신해야 할 지 결정해야 함. IP는 컴퓨터의 네트워크 어댑터까지만 갈 수 있는 정보이기 때문에, 컴ㅍ터 내부에서 실행하는 서버를 선택하기 위해서는 추가적인 Port 번호가 필요함.
Port는 운영체제가 관리하는 서버 프로그램의 연결 번호임. 서버는 시작할 때 특정 Port 번호에 바인딩 함. 예를 들어 웹 서버는 80번으로, DBMS는 1521번으로 바인딩할 수 있음. 따라서 클라이언트가 웹 서버와 통신하려면 80번으로, DBMS와 통신하려면 1521번으로 요청을 해야 함.

클라이언트도 서버에서 보낸 정보를 받기 위해서는 Port 번호가 필요한데, 서버와 같이 고정적인 Port 번호에 바인딩하는 것이 아니라 운영체제가 자동으로 부여하는 번호를 사용함. 이 번호는 클라이언트가 서버로 요청할 때 함께 전송되어 서버가 클라이언트로 데이터를 보낼 때 사용 됨.