网络编程概述
一. Linux 网络优势
Linux为用户提供了完善的、强大的网络功能。
(1)完善的内置网络;其他操作系统不包含如此紧密地和内核结合在一起的网络部分。
(2)Linux免费提供了大量支持internet的软件,internet是在Unix领域中建立并繁荣起来的,在这方面使用Linux是相当方便的,用户能用Linux与世界上其他人通通过internet网络进行通信。
(3)用户能通过一些Linux命令完成内部信息或文件的传输。
(4)远程访问。Linux不仅允许进行文件和程序的传输,他还为系统管理员和技术人员提供了访问其他系统的窗口。通过这种远程访问的功能,一位技术人员能够有效地为多个系统服务,即使那些系统位于相距很远的地方。
(5)安全可靠。Linux采取了许多安全技术措施,包括对读、写进行权限控制、带保护的子系、审计跟踪、核心授权等,这为网络多用户环境的用户提供了必要的安全保障。
二.Linux网络模型
面试内容:Linux网络模型(TCP/IP)
(1) 应用层
(2) 传输层
(3) 网络层
(4) 网络接口层
7层OSI速记:音(应用)标(表示)会传往(网络)书屋
以太网协议属于二层协议---(数据链路层)
IP协议属于三层协议----(网络层)
三. 网络层协议
第一部分:网络层协议。主要包括internet协议(IP)、网际控制报文协议(ICMP)、和地址解析协议(ARP);
Internet协议(IP):
该协议被设计成互联分组交换通信网,以形成一个网际通信环境。它负责在源主机和目的地主机之间传输来自其较高层软件的称为数据报文的数据块,它在源和目的地之间提供非连接型传递服务。
网际控制报文协议(ICMP)
他实际上不是IP层部分,但直接同IP层一起工作,报告网络上的某些出错情况。允许网际路由器传输差错信息或测试报文。
地址解析协议(ARP)
ARP实际上不是网络层部分,它处于IP和数据链路层之间,它是在32位IP地址和48位物理地址之间执行翻译的
四. 传输层协议
第二部分是传输层协议,包括传输控制协议和用户数据报文协议。
(1)传输控制协议(TCP)
该协议对建立网络上用户进程间的对话负责,它确保进程之间的可靠通信,所提供的功能如下:
i.监听输入对话建立请求
ii.请求另一网络站点对话
iii.可靠的发送和接收数据
iv.适度的关闭对话
(2)用户数据报文协议(UDP):
UDP提供不可靠得非连接型传输层服务,它允许在源和目的地之间传送数据,而不必在传送数据之前建立对话。它主要用于那些非连接型的应用程序,如:视频点播
五. 应用协议
这部分包括Telnet,文件传送协议(FTP和TFTP)简单文件传送协议(SMTP)和域名服务(DNS)等协议。
六.协议封装
以太网包封装了IP包;IP包又封装了TCP包;层层封装
目的地址:物理地址(6个字节)
七. IP协议
IP主要有以下四个主要功能:
(1)数据传送
(2)存址
(3)路由选择
(4)数据报文的分段
IP协议
IP的主要目的是为数据输入/输出网络提供基本算法,为高层协议提供无连接的传送服务。这意味着在IP将数据递交给接收站点以前不在传输站点和接收站点之间建立对话。它只是封装和传递数据,但不向发送者或接受者报告包的状态,不处理所遇到的故障。
IP包由IP协议头与协议数据两部分构成。
TCP协议
TCP是重要的传输层协议,目的是允许数据同网络上的其他节点进行可靠的交换。他能提供端口编号的译码,以识别主机的应用程序,而且完成数据的可靠传输。
(1) TCP协议具有严格的内装差错检验算法确保数据的完整性。
(2) TCP 是面向字节的顺序协议,这意味着包含的每一个字节被分配一个顺序编号,并分配给每包一个顺序编号。
(UDP网络程序设计)
UDP协议
UDP也是传输层协议,它是无连接的,不可靠的传输服务。当接收数据时它不向发送提供确认信息,它不提供输入包的顺序,如果出现丢失包或重份包的情况,也不会向发送方发出差错报文。由于它执行功能具有较低开销,因而执行速度比TCP快