网络编程基础

1、Internet的历史

1958年美国总统艾森豪威尔向美国国会提出建立DARPA (Defense Advanced Research Project Agency),即国防部高级研究计划署,简称ARPA,1968年6月DARPA提出“资源共享计算机网络” (Resource Sharing Computer Networks),目的在于让DARPA的所有电脑互连起来,这个网络就叫做ARPAnet,即“阿帕网”,是Interne的最早雏形。
1972年,ARPAnet在首届计算机后台通信国际会议上首次与公众见面,并验证了分组交换技术的可行性,由此,ARPAnet成为现代计算机网络诞生的标志。
1980年,ARPA投资把TCP/IP加进UNIX(BSD4.1版本)的内核中,在BSD4.2版本以后,TCP/IP协议即成为UNIX操作系统的标准通信模块。1982年,Internet由ARPAnet,MILNET等几个计算机网络合并而成,作为Internet的早期结构。
1983年,ARPAnet分裂为两部分:ARPAnet和纯军事用的MILNET。该年1月,ARPA把TCP/IP协议作为ARPAnet的标准协议,其后,人们称呼这个以ARPAnet为主干网的网际互联网为Internet,TCP/IP协议簇便在Internet中进行研究,试验,并改进成为使用方便,效率极好的协议簇。局域网和其它广域网的产生和蓬勃发展对Internet的进一步发展起了重要的作用。其中,最为引人注目的就是美国国家科学基金会NSF(National Science Foundation)建立的美国国家科学基金网NSFnet,1986年,NSF建立起了六大超级计算机中心,为了使全国的科学家、工程师能够共享这些超级计算机设施,NSF建立了自己的基于TCP/IP协议簇的计算机网络NSFnet。这一举措使得NSFnet于1990年6月彻底取代了ARPAnet而成为Internet的主干网。
1994年,Internet上的主机数目达到了320万台,连接了世界上的35000个计算机网络。据DataReportal最新的Digital 2022 April Global Statshot报告显示,现如今全世界有超过50亿人正在使用互联网,比去年增加约2亿人,而世界人口(截至2022年4月)有79.3亿人,也就是说能够使用互联网的人口,占总人口的63%。今天的Internet已不再是计算机人员和军事部门进行科研的领域,而是变成了一个开发和使用信息资源的覆盖全球的信息海洋。
部分内容参考:http://zhidao.baidu.com/question/385864/answer/2237103180

2、OSI模型和TCP/IP协议体系结构

2-1.网络体系结构是什么?

网络体系结构即指网络的层次结构和每层所使用协议的集合

2-2.OSI/TCP模型

OSI与TCP/IP模型图OSI 是 Open System Interconnection 的缩写,译为“开放式系统互联”,它把网络通信的工作分为 7 层,从下到上分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,不过属于理想模型。
TCP/IP模型是OSI模型的简化,全程为Transmission Control Protocol(传输控制协议)/Internet Protocol(互联网协议),简化以后将网络通信的工作分为4层,从下到上为网络接口与物理层、网络层、传输层、应用层。

  • 网络接口与物理层:存在一个MAC地址,也就是常说的物理地址,由48位数组成,全球唯一的,作为网络设备的身份标识使用。本层是针对不同物理网络的连接形式的协议,如ATP、PARP、等。
  • 网络层:是针对数据的传输,路径和地址的选择,如我们常用的IPV4协议,IPV6协议等。
  • 传输层:用于数据的传输,主要协议有TCP、UDP、STCP协议等。
  • 应用层:用于各种服务以及应用程序之间的协议,如http协议、tftp协议、smtp协议。

3、TCP/UDP

  • 共同点:

    TCP/UDP都用于传输层通信协议

  • 不同点:

    TCP:面向连接,提供可靠性通信
    UDP:面向无连接,不可靠传输,资源消耗小,处理速度快

  • 协议选择:
    对于数据可靠性要求较高,传输质量要求较高,以及传输大量数据时的通信协议选择TCP
    当发送小尺寸数据或者使用广播或组播,数据可靠性不高通信时采用UDP


4、IP地址

IP:Internet Protocol 网络协议,IP地址由网络地址 和主机地址组成。
作用:形象的可以说是找路(真正找目标主机是通过ARP协议解析数据包得到MAC地址,进而找到目标主机)
IP地址大小为4个字节,以点分十进制形式表示的
注意:网络地址和主机地址占据字节数的不同,IP地址的类型也会有区分
A类:1个字节网络地址+3个字节的主机地址,规定网络地址的最高位是0
A类IP的范围:0.0.0.0 ~ 127.255.255.255
A类IP我们可以正常使用的范围是:1.0.0.2 ~ 126.255.255.254
B类:2个字节网络地址+2个字节的主机地址,规定网络地址的最高位是10
B类IP的范围:128.0.0.0 ~ 191.255.255.255
能够使用的范围:128.0.0.2 ~ 191.255.255.254
C类:3个字节网络地址+1个字节的主机地址,规定网络地址的最高位是110
C类IP的范围:192.0.0.0 ~ 223.255.255.255
能够使用的范围:192.0.0.2 ~ 223.255.255.254
注意:以上三类是按照字节数所占不同来进行区分
D类:一般作为组播地址(网络地址最高位为:1110)
E类:等待将来使用(网络地址最高位为:11110)


1、linux内查看ip方式

long@ephemeral:~$ ip a   #方式1 a为address
long@ephemeral:~$ ifconfig  #方式2

2、Windows下查看ip
cmd中输入:

ipconfig

5、端口号

  • 端口号是一个16位无符号整数,范围在0~65535。
  • 端口1~1023为系统程序使用,如1号为init,22为ssh服务,80为http服务。
  • 保留端口:1024~5000(不建议使用),可以使用:5000~65535。

总结

以上就是今天要讲的内容,本文仅仅简单介绍了部分网络编程的基础概念,从而为我们接下来对于网络编程打下基础,使我们较为容易的接受内容。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值