一、 计算机网络概念与分类
- 计算机网络的定义
- 计算机网络是在网络协议的控制下,通过通信设备和线路将分布在不同地理位置,且具有独立功能的多个计算机系统连接起来,通过网络操作系统等网络软件实现通信和资源共享的系统。
- 计算机网络中至少拥有两台以上的计算机
- 传输媒体和通信设备把若干台计算机连接到了一起。
- 为需要网络软件,含操作系统
- 为了正确地通信,需要有一个共同遵守的约定——通信协议。
- 把多台计算机连接在一起,形成一个网络,是为了通信和资源共享。
- 计算机网络的发展史
- 第一代计算机网络:面向终端的远程联机系统
- 1946 年产生第一台数字计算机
- 1954 年收发器终端的产生
- 20世纪 60 年代初,产生由多重线路控制器参与组成的网络。
- 这种网络中,终端设备没有独立处理能力,可以传输资料,不能共享资源。
- 第二代计算机网络:计算机-计算机网络
- 1964 年,Baran 提出存储转发概念
- 1966 年,David 提出分组概念
- 1969 年,计算机分组交换网 ARPANET(ARPA:Advanced Research Projects Agency 美国国防部高级研究计划署)投入运行。
- 网络属于同构网。
- 网络仍主要用于传输信息,对网络缺乏统一管理
- 第三代计算机网络:开放式标准化网络
- 1977 年 ISO(International Standard Organization,国际标准化组织)提出OSI 模型(Open System Interconnection,开放系统互联模型)
- 此种网络实现了不同类型的计算机系统互联,遵循国际标准化协议的开放式标准化网络,具有统一的体系结构,以资源共享为主要目的。
- 第四代计算机网络:新一代网络
- 网络正迅速地朝着高速化、实时化、智能化、集成化和多媒体化的方向不断深入。
- 逐步将电信网、有线电视、和计算机网络融合,三网合一。
- 第一代计算机网络:面向终端的远程联机系统
计算机网络的分类
网络结构的分层设计
- 为了降低网络设计的复杂性,将网络进行了分层设计。每一层只关心自己层的设计
- 协议
- 为了使数据可以在网络上从源传递到目的地,网络上所有设备需要讲相同的语言,描述网络通信中语言规范的一组规则就是协议
- 协议是指网络中的计算机在通信时对传送信息的理解、信息表示的形式及各种应答信号所应遵循的共同约定。
- 为了使数据可以在网络上从源传递到目的地,网络上所有设备需要讲相同的语言,描述网络通信中语言规范的一组规则就是协议
- 网络体系结构/网络模型
- 分类
- ISO/OSI模型
- 国际标准化组织/开发系统互联模型
- TCP/IP模型
- TCP/IP(Transmission Control Protocol/Internet Protocol),传输控制协议/互联网协议
- 因特网中实际采用的标准,TCP/IP是ARPANET为了实现异种网的互联,在对网间网的研究和应用中产生的
- 是由很多协议构成的一个协议族
- ISO/OSI模型
- ISO/OSI模型
- ISO/OSI模型分为
7
层- 应用、表示、会话、传输、网络、数据链路、物理层
- 数据封装
- 各层工作的物理设备
- 物理层
- 网卡
- 集线器
- 数据链路层
- 交换机
- 网络层
- 路由器
- 传输层
- 防火墙
- 应用层
- 服务器
- 物理层
- ISO/OSI模型分为
- TCP/IP模型
- 实际应用中,完全遵从OSI参考模型的协议几乎没有
- TCP/IP,20世纪70年代,美国国防高级研究计划署开发
- 最早在ARPANET上实现,目的在于解决异构系统的通信问题
- TCP/IP分为四层
- 应用、传输、互联网、网络接口层
- TCP/IP各层协议
- IP协议
- IP (Internet Protocol)译为网际协议/网络协议/互联网协议。
- 对数据包寻址和路由,并从一个网络转发到另一个网络。
- IP 协议在每个发送的数据包前加入一个控制信息,其中包含了源主机的IP地址、目的主机的 IP 地址和其他一些信息。
- 分割和重组在传输层被分割的数据包。
- 由于数据包要从一个网络到另一个网络,当两个网络所支持传输的数据包的大小不相同时,IP 协议就要在发送端将数据包分割,然后在分割的每一段前再加入控制信息进行传输。当接收端接收到数据包后,IP 协议将所有的片段重新组合形成原始的数据。
- 无连接传递数据。
- 无连接是指主机之间不建立用于可靠通信的端到端的连接,源主机只是简单地将 IP 数据包发送出去,而数据包可能会丢失、重复、延迟时间大或者IP 包的次序会混乱。
- 要实现数据包的可靠传输,就必须依靠高层的协议或应用程序,如传输层的TCP 协议。
- 对数据包寻址和路由,并从一个网络转发到另一个网络。
- IP (Internet Protocol)译为网际协议/网络协议/互联网协议。
- ICMP协议
- ICMP(Internet Control Message Protocol)译为互联网控制报文协议,主要用于侦测远端主机是否存在、建立及维护路由资料、重导资料传送路径、资料流量控制。
- ping命令:探测能否连通指定计算机
- 连接建立成功
Reply from 192.168.1.1:bytes=32 time<1ms TTL=128
- TTL 是 Time To Live 的缩写,该字段指定 IP 包被路由器丢弃之前允许通过的最大网段数量。TTL 是 IPv4 包头的一个8bit 字段
- 目标主机不可达:Destination host unreachable.
- 请求时间超时:Request timed out.
- 未知主机名:Unknown host abc
- 连接建立成功
tracert
:跟踪路由器
- ping命令:探测能否连通指定计算机
- ICMP(Internet Control Message Protocol)译为互联网控制报文协议,主要用于侦测远端主机是否存在、建立及维护路由资料、重导资料传送路径、资料流量控制。
- ARP协议
- ARP(Address Resolution Protocol)译为地址解析协议,用于将IP 地址转换为MAC地址。
- MAC(Media Access Control)地址,或称硬件位址/机器地址/物理地址
- 用来定义网络设备的位置,代表网络中的唯一一台计算机。
- MAC 地址由 48 比特长,0 到 23 位是厂商向 IETF 等机构申请用来标识厂商的代码。地址的 24 到 47 位由厂商自行分派,是各个厂商制造的所有网卡的一个唯一编号。常用 12 位的 16 进制数字组成。
- ipconfig /all 或 getmac /v 可以查看 MAC 地址。
- MAC(Media Access Control)地址,或称硬件位址/机器地址/物理地址
- ARP(Address Resolution Protocol)译为地址解析协议,用于将IP 地址转换为MAC地址。
- UDP 与 TCP 协议
- 二者都属于传输层协议。
- UDP 协议(User Datagram Protocol,用户数据报协议)
- 属于传输层协议。
- 无连接。
- 不可靠。
- 可靠性由上层协议保证。
- TCP 协议
- 面向连接,支持端到端通信。
- 进行无差错控制,传输是可靠的。
- 进行必要流量控制,避免发包过快而导致阻塞。
- TCP 的连接:三次握手
- UDP 协议(User Datagram Protocol,用户数据报协议)
- 二者都属于传输层协议。
- 应用层协议
- FTP(File Transfer Protocol)
- 文件传输协议
- 用于上传文件和下载文件
- HTTP(Hyper Text Transfer Protocol)
- 超文本传输协议
- 用于访问网站
- https(Hyper Text Transfer Protocol over Secure Socket Layer)
- 安全的超文本传输协议
- Telnet 远程协议
- 用于远程连接计算机
- SMTP(Simple Mail Transmission Protocol)
- 简单邮件传输协议
- 用于发送邮件
- POP3(Post Office Protocol version 3)
- 邮局协议版本 3
- 用于收邮件
- DNS(Domain Name System)
- 域名系统
- 用于将域名解析为 IP 地址、将 IP 地址解析为域名
- DHCP(Dynamic Host Configuration Protocol)
- 动态主机配置协议
- 用于自动分配 IP 地址
- FTP(File Transfer Protocol)
- 实际应用中,完全遵从OSI参考模型的协议几乎没有
- 分类
- 端口
echo 7/tcp
echo 7/udp
systat 11/tcp users #Active users
systat 11/udp users #Active users
daytime 13/tcp
daytime 13/udp
qotd 17/tcp quote #Quote of the day
qotd 17/udp quote #Quote of the day
chargen 19/tcp ttytst source #Character generator
chargen 19/udp ttytst source #Character generator
ftp-data 20/tcp #FTP, data
ftp 21/tcp #FTP. control
ssh 22/tcp #SSH Remote Login Protocol
telnet 23/tcp
smtp 25/tcp mail #Simple Mail Transfer Protocol
time 37/tcp timserver
time 37/udp timserver
rlp 39/udp resource #Resource Location Protocol
nameserver 42/tcp name #Host Name Server
nameserver 42/udp name #Host Name Server
nicname 43/tcp whois
domain 53/tcp #Domain Name Server
domain 53/udp #Domain Name Server
bootps 67/udp dhcps #Bootstrap Protocol Server
bootpc 68/udp dhcpc #Bootstrap Protocol Client
tftp 69/udp #Trivial File Transfer
gopher 70/tcp
finger 79/tcp
http 80/tcp www www-http #World Wide Web
hosts2-ns 81/tcp #HOSTS2 Name Server
hosts2-ns 81/udp #HOSTS2 Name Server
kerberos 88/tcp krb5 kerberos-sec #Kerberos
kerberos 88/udp krb5 kerberos-sec #Kerberos
hostname 101/tcp hostnames #NIC Host Name Server
iso-tsap 102/tcp #ISO-TSAP Class 0
rtelnet 107/tcp #Remote Telnet Service
pop2 109/tcp postoffice #Post Office Protocol - Version 2
pop3 110/tcp #Post Office Protocol - Version 3
sunrpc 111/tcp rpcbind portmap #SUN Remote Procedure Call
sunrpc 111/udp rpcbind portmap #SUN Remote Procedure Call
auth 113/tcp ident tap #Identification Protocol
uucp-path 117/tcp
sqlserv 118/tcp #SQL Services
nntp 119/tcp usenet #Network News Transfer Protocol
ntp 123/udp #Network Time Protocol
epmap 135/tcp loc-srv #DCE endpoint resolution
epmap 135/udp loc-srv #DCE endpoint resolution
netbios-ns 137/tcp nbname #NETBIOS Name Service
netbios-ns 137/udp nbname #NETBIOS Name Service
netbios-dgm 138/udp nbdatagram #NETBIOS Datagram Service
netbios-ssn 139/tcp nbsession #NETBIOS Session Service
imap 143/tcp imap4 #Internet Message Access Protocol
sql-net 150/tcp
sqlsrv 156/tcp
pcmail-srv 158/tcp #PCMail Server
snmp 161/udp #SNMP
snmptrap 162/udp snmp-trap #SNMP trap
print-srv 170/tcp #Network PostScript
bgp 179/tcp #Border Gateway Protocol
irc 194/tcp #Internet Relay Chat Protocol
ipx 213/udp #IPX over IP
rtsps 322/tcp
rtsps 322/udp
mftp 349/tcp
mftp 349/udp
ldap 389/tcp #Lightweight Directory Access Protocol
https 443/tcp MCom #HTTP over TLS/SSL
https 443/udp MCom #HTTP over TLS/SSL
microsoft-ds 445/tcp
microsoft-ds 445/udp
kpasswd 464/tcp # Kerberos (v5)
kpasswd 464/udp # Kerberos (v5)
isakmp 500/udp ike #Internet Key Exchange
crs 507/tcp #Content Replication System
crs 507/udp #Content Replication System
exec 512/tcp #Remote Process Execution
biff 512/udp comsat
login 513/tcp #Remote Login
who 513/udp whod
cmd 514/tcp shell
syslog 514/udp
printer 515/tcp spooler
talk 517/udp
ntalk 518/udp
efs 520/tcp #Extended File Name Server
router 520/udp route routed
ulp 522/tcp
ulp 522/udp
timed 525/udp timeserver
tempo 526/tcp newdate
irc-serv 529/tcp
irc-serv 529/udp
courier 530/tcp rpc
conference 531/tcp chat
netnews 532/tcp readnews
netwall 533/udp #For emergency broadcasts
uucp 540/tcp uucpd
klogin 543/tcp #Kerberos login
kshell 544/tcp krcmd #Kerberos remote shell
dhcpv6-client 546/tcp #DHCPv6 Client
dhcpv6-client 546/udp #DHCPv6 Client
dhcpv6-server 547/tcp #DHCPv6 Server
dhcpv6-server 547/udp #DHCPv6 Server
afpovertcp 548/tcp #AFP over TCP
afpovertcp 548/udp #AFP over TCP
new-rwho 550/udp new-who
rtsp 554/tcp #Real Time Stream Control Protocol
rtsp 554/udp #Real Time Stream Control Protocol
remotefs 556/tcp rfs rfs_server
rmonitor 560/udp rmonitord
monitor 561/udp
nntps 563/tcp snntp #NNTP over TLS/SSL
nntps 563/udp snntp #NNTP over TLS/SSL
whoami 565/tcp
whoami 565/udp
ms-shuttle 568/tcp #Microsoft shuttle
ms-shuttle 568/udp #Microsoft shuttle
ms-rome 569/tcp #Microsoft rome
ms-rome 569/udp #Microsoft rome
http-rpc-epmap 593/tcp #HTTP RPC Ep Map
http-rpc-epmap 593/udp #HTTP RPC Ep Map
hmmp-ind 612/tcp #HMMP Indication
hmmp-ind 612/udp #HMMP Indication
hmmp-op 613/tcp #HMMP Operation
hmmp-op 613/udp #HMMP Operation
ldaps 636/tcp sldap #LDAP over TLS/SSL
doom 666/tcp #Doom Id Software
doom 666/udp #Doom Id Software
msexch-routing 691/tcp #MS Exchange Routing
msexch-routing 691/udp #MS Exchange Routing
kerberos-adm 749/tcp #Kerberos administration
kerberos-adm 749/udp #Kerberos administration
kerberos-iv 750/udp #Kerberos version IV
mdbs_daemon 800/tcp
mdbs_daemon 800/udp
ftps-data 989/tcp #FTP data, over TLS/SSL
ftps 990/tcp #FTP control, over TLS/SSL
telnets 992/tcp #Telnet protocol over TLS/SSL
imaps 993/tcp #IMAP4 protocol over TLS/SSL
ircs 994/tcp #IRC protocol over TLS/SSL
pop3s 995/tcp spop3 #pop3 protocol over TLS/SSL (was spop3)
pop3s 995/udp spop3 #pop3 protocol over TLS/SSL (was spop3)
kpop 1109/tcp #Kerberos POP
nfsd-status 1110/tcp #Cluster status info
nfsd-keepalive 1110/udp #Client status info
nfa 1155/tcp #Network File Access
nfa 1155/udp #Network File Access
activesync 1034/tcp #ActiveSync Notifications
phone 1167/udp #Conference calling
opsmgr 1270/tcp #Microsoft Operations Manager
opsmgr 1270/udp #Microsoft Operations Manager
ms-sql-s 1433/tcp #Microsoft-SQL-Server
ms-sql-s 1433/udp #Microsoft-SQL-Server
ms-sql-m 1434/tcp #Microsoft-SQL-Monitor
ms-sql-m 1434/udp #Microsoft-SQL-Monitor
ms-sna-server 1477/tcp
ms-sna-server 1477/udp
ms-sna-base 1478/tcp
ms-sna-base 1478/udp
wins 1512/tcp #Microsoft Windows Internet Name Service
wins 1512/udp #Microsoft Windows Internet Name Service
ingreslock 1524/tcp ingres
stt 1607/tcp
stt 1607/udp
l2tp 1701/udp #Layer Two Tunneling Protocol
pptconference 1711/tcp
pptconference 1711/udp
pptp 1723/tcp #Point-to-point tunnelling protocol
msiccp 1731/tcp
msiccp 1731/udp
remote-winsock 1745/tcp
remote-winsock 1745/udp
ms-streaming 1755/tcp
ms-streaming 1755/udp
msmq 1801/tcp #Microsoft Message Queue
msmq 1801/udp #Microsoft Message Queue
radius 1812/udp #RADIUS authentication protocol
radacct 1813/udp #RADIUS accounting protocol
msnp 1863/tcp
msnp 1863/udp
ssdp 1900/tcp
ssdp 1900/udp
close-combat 1944/tcp
close-combat 1944/udp
nfsd 2049/udp nfs #NFS server
knetd 2053/tcp #Kerberos de-multiplexor
mzap 2106/tcp #Multicast-Scope Zone Announcement Protocol
mzap 2106/udp #Multicast-Scope Zone Announcement Protocol
qwave 2177/tcp #QWAVE
qwave 2177/udp #QWAVE Experiment Port
directplay 2234/tcp #DirectPlay
directplay 2234/udp #DirectPlay
ms-olap3 2382/tcp #Microsoft OLAP 3
ms-olap3 2382/udp #Microsoft OLAP 3
ms-olap4 2383/tcp #Microsoft OLAP 4
ms-olap4 2383/udp #Microsoft OLAP 4
ms-olap1 2393/tcp #Microsoft OLAP 1
ms-olap1 2393/udp #Microsoft OLAP 1
ms-olap2 2394/tcp #Microsoft OLAP 2
ms-olap2 2394/udp #Microsoft OLAP 2
ms-theater 2460/tcp
ms-theater 2460/udp
wlbs 2504/tcp #Microsoft Windows Load Balancing Server
wlbs 2504/udp #Microsoft Windows Load Balancing Server
ms-v-worlds 2525/tcp #Microsoft V-Worlds
ms-v-worlds 2525/udp #Microsoft V-Worlds
sms-rcinfo 2701/tcp #SMS RCINFO
sms-rcinfo 2701/udp #SMS RCINFO
sms-xfer 2702/tcp #SMS XFER
sms-xfer 2702/udp #SMS XFER
sms-chat 2703/tcp #SMS CHAT
sms-chat 2703/udp #SMS CHAT
sms-remctrl 2704/tcp #SMS REMCTRL
sms-remctrl 2704/udp #SMS REMCTRL
msolap-ptp2 2725/tcp #MSOLAP PTP2
msolap-ptp2 2725/udp #MSOLAP PTP2
icslap 2869/tcp
icslap 2869/udp
cifs 3020/tcp
cifs 3020/udp
xbox 3074/tcp #Microsoft Xbox game port
xbox 3074/udp #Microsoft Xbox game port
ms-dotnetster 3126/tcp #Microsoft .NET ster port
ms-dotnetster 3126/udp #Microsoft .NET ster port
ms-rule-engine 3132/tcp #Microsoft Business Rule Engine Update Service
ms-rule-engine 3132/udp #Microsoft Business Rule Engine Update Service
msft-gc 3268/tcp #Microsoft Global Catalog
msft-gc 3268/udp #Microsoft Global Catalog
msft-gc-ssl 3269/tcp #Microsoft Global Catalog with LDAP/SSL
msft-gc-ssl 3269/udp #Microsoft Global Catalog with LDAP/SSL
ms-cluster-net 3343/tcp #Microsoft Cluster Net
ms-cluster-net 3343/udp #Microsoft Cluster Net
ms-wbt-server 3389/tcp #MS WBT Server
ms-wbt-server 3389/udp #MS WBT Server
ms-la 3535/tcp #Microsoft Class Server
ms-la 3535/udp #Microsoft Class Server
pnrp-port 3540/tcp #PNRP User Port
pnrp-port 3540/udp #PNRP User Port
teredo 3544/tcp #Teredo Port
teredo 3544/udp #Teredo Port
p2pgroup 3587/tcp #Peer to Peer Grouping
p2pgroup 3587/udp #Peer to Peer Grouping
ws-discovery 3702/udp #WS-Discovery
ws-discovery 3702/tcp #WS-Discovery
dvcprov-port 3776/tcp #Device Provisioning Port
dvcprov-port 3776/udp #Device Provisioning Port
msfw-control 3847/tcp #Microsoft Firewall Control
msdts1 3882/tcp #DTS Service Port
sdp-portmapper 3935/tcp #SDP Port Mapper Protocol
sdp-portmapper 3935/udp #SDP Port Mapper Protocol
net-device 4350/tcp #Net Device
net-device 4350/udp #Net Device
ipsec-msft 4500/tcp #Microsoft IPsec NAT-T
ipsec-msft 4500/udp #Microsoft IPsec NAT-T
llmnr 5355/tcp #LLMNR
llmnr 5355/udp #LLMNR
wsd 5357/tcp #Web Services on devices
wsd 5358/tcp #Web Services on devices
rrac 5678/tcp #Remote Replication Agent Connection
rrac 5678/udp #Remote Replication Agent Connection
dccm 5679/tcp #Direct Cable Connect Manager
dccm 5679/udp #Direct Cable Connect Manager
ms-licensing 5720/tcp #Microsoft Licensing
ms-licensing 5720/udp #Microsoft Licensing
directplay8 6073/tcp #DirectPlay8
directplay8 6073/udp #DirectPlay8
ms-do 7680/tcp #Microsoft Delivery Optimization
ms-do 7680/udp #Microsoft Delivery Optimization
man 9535/tcp #Remote Man Server
rasadv 9753/tcp
rasadv 9753/udp
imip-channels 11320/tcp #IMIP Channels Port
imip-channels 11320/udp #IMIP Channels Port
directplaysrvr 47624/tcp #Direct Play Server
directplaysrvr 47624/udp #Direct Play Server
```
三、IP地址
- IP 地址的分类
- 分为 5 个不同的地址类别,其中 A、B、C 三类最为常用,D 类地址用作组播,E类地址保留未用。
- 网络号不允许全 0,主机号不允许全 0、全 1(指二进制形式)
- 主机号全 0:表示子网或本网,常用于路由中。不能在公网上分配和出现
- 主机号全 1:表示广播地址,发送到地址全 1 的主机,表示信息发送给本网中的所有主机。不能在公网上分配和出现。
特殊的IP地址
子网掩码的特点
- 共 32 位二进制,由连续的“1”和连续的“0”组成,左边向右全是1,右边向左全是0。
- 标准长度的子网掩码
- A 类:255.0.0.0 或 /8
- B 类:255.255.0.0 或 /16
- C 类:255.255.255.0 或 /24
- 可变长的子网掩码
- 128(10000000) 例如:255.255.255.128 或 /25
- 192(11000000) 例如:255.255.192.0 或 /18
- 224(11100000) 例如:255.255.255.224 或 /27
- 240(11110000) 例如:255.240.0.0 或 /12
- 248(11111000) 例如:255.255.255.248 或 /29
- 252(11111100) 例如:255.255.255.252 或 /30
子网掩码的应用
设置 TCP/IP 参数
- 如何获得 IP 地址
- 手动设置 IP 地址
- 自动设置 IP 地址
- DHCP
- 169.254.x.y
- 如何获得 IP 地址
- 检查 TCP/IP 设置是否正确
- IP 地址发生冲突
- 利用“网络错误”对话框
- 通过“本地连接”对话框的“详细信息”检查
- 利用 ipconfig 命令
- IP 地址发生冲突